Django重定向多语言网站

时间:2016-02-07 18:33:27

标签: python django http-redirect

我正在使用法语和英语的双语网站,我正试图弄清楚如何检测法国用户并将其重定向到index_fr.html(在模板文件夹中)。

我的urls.py(现在只显示英文版):

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', profiles.views.home, name='home'),
]

1 个答案:

答案 0 :(得分:0)

感谢您的回复。

正如dhke所说,我启用了LocalMiddleware并使用request.LANGUAGE_CODE在views.py中编写了一个函数,该函数根据语言呈现模板并且它可以工作!:

views.py:

from django.http import HttpResponse

def home(request):

context={}
if request.LANGUAGE_CODE == 'fr':
    template='index_fr.html'
else:
    template='index_en.html'

return render(request,template,context)

def fr(request):

context={}
template='index_fr.html'
return render(request,template,context)

def all(request):

context={}
template='index_en.html'
return render(request,template,context)

urls.py:

urlpatterns =[
url(r'^admin/', admin.site.urls),

url(r'^$', profiles.views.home, name='home'),
url(r'^index_fr.html', profiles.views.fr, name='fr'),
url(r'^index_en.html', profiles.views.all, name='all'),