【问题标题】:How to capture the subdomain in a django view?如何在 django 视图中捕获子域?
【发布时间】:2018-03-23 10:05:19
【问题描述】:

我正在 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)

【问题讨论】:

    标签: python django django-views subdomain views


    【解决方案1】:

    基本上,问题由三部分组成:

    1. 如何获取视图中的 url。已回复here
    2. 如何解析网址。如果你有 Python 3,可以找到here
    3. 最后,你需要get the subdomain from string

      从 urllib.parse 导入 urlparse

      url = request.META['HTTP_HOST']

      解析 = urlparse(url)

      打印(parse.netloc.split('.')[0])

    【讨论】:

      猜你喜欢
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      相关资源
      最近更新 更多