您好,我一直在密切关注有关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>我的urlconf看起来像这样
urlpatterns += patterns("",
("^admin/", include(admin.site.urls)),
("^", include("mezzanine.urls")),
(r'^i18n/', include('django.conf.urls.i18n')),
)当我切换语言并点击"go“时,我得到一个
Page Not Found (404)
Request Method: POST
Request URL: http://127.0.0.1:8000/i18n/setlang/
No Page matches the given query.我正确地添加了i18n urls和区域设置中间件,我也在一个新项目中尝试过,但没有成功。有什么线索吗?
发布于 2011-03-20 19:44:16
Mezzanine的urlpattern包含一个针对页面的“全部捕获”,因此它下面的任何东西都将永远不会被找到。要让您的模式正常工作,您只需交换urls.py中的最后两个模式,如下所示:
urlpatterns += patterns("",
("^admin/", include(admin.site.urls)),
(r'^i18n/', include('django.conf.urls.i18n')),
("^", include("mezzanine.urls")),
)https://stackoverflow.com/questions/5251762
复制相似问题