django - translation.activate() - 无法全局激活
我正在尝试更改页面的语言。我有一个<select>
下拉框,里面有不同的语言选项,用户可以选择语言,这样就会触发一个地址改变,具体代码是:
var lang = $(this).val();
var currentpage = String(window.location.href);
window.location.href = 'changelang/?lang=' + lang + '&back=' + currentpage;
在urls.py文件中,我做了如下设置:
url(r'^changelang/$', 'changelanguage', name='changelanguage'),
在视图函数中,我也进行了相应的处理:
def changelanguage(request):
lang = request.GET.get('lang')
back = request.GET.get('back')
translation.activate(lang)
return HttpResponseRedirect(back)
我原以为这样可以让所有页面都更改语言,但实际上并没有改变任何语言。
我通过在我的首页函数中进行测试:
def startpage(request):
translation.activate('en')
return render(request, 'index.html', {})
确实有变化,但只是在首页有效。
那么,如何才能在一个视图中让所有页面都能激活语言呢?