如何在 Django 视图中捕获子域?
How to capture the subdomain in a django view?
我正在用许多子域在 django 中开发一个应用程序。例如 www.mysite.com、mx.mysite.com、es.mysite.com、nz.mysite.com
所有这些模式都必须重定向到相同的 django 应用程序并使用国家/地区语言呈现 html 页面。
有什么方法可以捕获 views.py 中的子域吗?
我想要 views.py 中这样的东西:
######## VIEWS.PY ###########
def hompage(request):
subdomain = #HERE IS WHERE I WANT TO CAPTURE THE SUBDOMAIN
if subdomain=='www':
contextdict = {"Language": "English"}
else if subdomain=='mx':
contextdict = {"Language": "Spanish"}
return render(request, 'mysite/index.html', contextdict)
基本上,问题由三部分组成:
- 如何在视图中获取 url。已回答 here
- 如何解析url。可以找到 here 如果你有 Python 3
最后,你需要get the subdomain from string
从urllib.parse导入url解析
url = request.META['HTTP_HOST']
解析 = url解析(url)
print(parse.netloc.split('.')[0])
我正在用许多子域在 django 中开发一个应用程序。例如 www.mysite.com、mx.mysite.com、es.mysite.com、nz.mysite.com 所有这些模式都必须重定向到相同的 django 应用程序并使用国家/地区语言呈现 html 页面。
有什么方法可以捕获 views.py 中的子域吗?
我想要 views.py 中这样的东西:
######## VIEWS.PY ###########
def hompage(request):
subdomain = #HERE IS WHERE I WANT TO CAPTURE THE SUBDOMAIN
if subdomain=='www':
contextdict = {"Language": "English"}
else if subdomain=='mx':
contextdict = {"Language": "Spanish"}
return render(request, 'mysite/index.html', contextdict)
基本上,问题由三部分组成:
- 如何在视图中获取 url。已回答 here
- 如何解析url。可以找到 here 如果你有 Python 3
最后,你需要get the subdomain from string
从urllib.parse导入url解析
url = request.META['HTTP_HOST']
解析 = url解析(url)
print(parse.netloc.split('.')[0])