【发布时间】:2014-08-28 12:31:44
【问题描述】:
我在 Django 中有一个两种语言的站点,以及一个用于更改站点语言的选择表单。它工作正常,直到我开始在网址中使用i18n_patterns。所以现在,我网站的每个网址都以:foo.com/en/ 或 foo.com/es/ 开头。
问题是当我使用表单更改语言时,url 设置会覆盖表单的选择,因此语言不会被更改。实现这一目标的唯一方法是从 url 手动完成。
但是,我不想将所有语言更改链接到初始页面。该网址可能类似于foo.com/en/post/foo-post/,我希望能够将其更改为foo.com/es/post/foo-post/。我做错了什么?
我的表格是:
<form action="{% url 'set_language' %}" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language" onchange="this.form.submit()">
<option value="es" {% if LANGUAGE_CODE == "es" %} selected="selected"{% endif %}>Español</option>
<option value="eu" {% if LANGUAGE_CODE == "en" %} selected="selected"{% endif %}>English</option>
</select>
</form>
非常感谢
【问题讨论】:
标签: django internationalization