tak*_*uke 3 django internationalization
嗨,我一直在关注django的国际化文档(在django 1.2.5上使用mezzanine),一切都很好,除非我使用像文档中的那样的表单来切换这样的语言代码
<form action="/i18n/setlang/" method="post">
<input name="next" type="hidden" value="/whatever/" />
<select name="language">
{% for lang in LANGUAGES %}
<option value="{{ lang.0 }}">{{ lang.1 }}</option>
{% endfor %}
</select>
<input type="submit" value="Go" />
</form>
Run Code Online (Sandbox Code Playgroud)
我的urlconf看起来像这样
urlpatterns += patterns("",
("^admin/", include(admin.site.urls)),
("^", include("mezzanine.urls")),
(r'^i18n/', include('django.conf.urls.i18n')),
)
Run Code Online (Sandbox Code Playgroud)
当我切换语言并点击"go"时,我得到一个
Page Not Found (404)
Request Method: POST
Request URL: http://127.0.0.1:8000/i18n/setlang/
No Page matches the given query.
Run Code Online (Sandbox Code Playgroud)
我添加了i18n网址和区域设置中间件.我在一个新项目中尝试了它也没有运气.有线索吗?
夹层的urlpatterns包含页面的"全部捕获",因此永远不会找到它下面的任何内容.要使您的模式正常工作,您只需将urls.py中的最后两个模式交换为:
urlpatterns += patterns("",
("^admin/", include(admin.site.urls)),
(r'^i18n/', include('django.conf.urls.i18n')),
("^", include("mezzanine.urls")),
)
Run Code Online (Sandbox Code Playgroud)