我使用文档中的the set_language redirect view表单。
urls.py
urlpatterns += patterns('',
(r'^i18n/', include('django.conf.urls.i18n')),
)
模板:
<form action="/i18n/setlang/" method="post">
{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select name="language">
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option value="{{ language.code }}">{{ language.name_local }} ({{ language.code }})</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
使用url-template-tag替换action属性“/ i18n / setlang /”的正确语法是什么?
编辑:
我在包含中找到了正确的网址(感谢Daniel!):
<form action="{% url django.views.i18n.set_language %}" method="post">
答案 0 :(得分:1)
作为documentation says,您可以输入视图的完整路径作为{% url %}
参数
{% url django.views.i18n.set_language %} # quote or unquote based on your Django version
答案 1 :(得分:0)
您不关心include的URL,您关心include中的URL。您应该查看django.conf.urls.i18n
的代码或文档,找到您感兴趣的setlang
网址,然后使用该名称。