Django更改网站语言

时间:2017-02-05 06:36:15

标签: python django django-templates

我正在使用Django,我想在用户单击按钮时更改网站语言。我可以使用{% get_current_language as LANGUAGE_CODE %}获取当前语言代码,但如何从模板中更改它?

1 个答案:

答案 0 :(得分:2)

<form name="setLangEnglish" action="/i18n/setlang/" method="POST">
   {% csrf_token %}
   <input name="next" type="hidden" value="{{request.path}}"/>
   <input type="hidden" name="language" value="en"/>
</form>

这个表单实际上做的是将当前语言改为“en”,这是英语。由于这个表单输入类型是隐藏的,你不会在html中看到表单。你需要做的是找出你想要改变语言的方式(点击文字或点击国家标志。)。这是一个用点击文字改变语言的例子。

<a onclick="document.setLangEnglish.submit();return false;">ENG</a>

只要用户点击“ENG”,此代码就会提交上面的表单。为了使其正常运行,请确保url(r'^i18n/',include('django.conf.urls.i18n')),中有urls.py