2017-10-11 106 views
0

我正在開發一個django中的許多子域的應用程序。例如www.mysite.com,mx.mysite.com,es.mysite.com,nz.mysite.com 所有這些模式都必須重定向到相同的django應用程序,並使用國家語言呈現html頁面。如何在django視圖中捕獲子域?

有沒有什麼方法可以捕獲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) 

回答

0

基本上,這個問題由三個部分組成:

  1. 如何獲得網址在視圖中。已回答here
  2. 如何解析網址。可以發現here如果你有Python的3
  3. 最後,你需要get the subdomain from string

    從進口的urllib.parse裏urlparse

    URL = request.META [ 'HTTP_HOST']

    解析=裏urlparse (URL)

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