2013-06-05 13 views
0

Django的1.5,使用该应用语言代码前缀两次使用URL反向模板滤波器和I18N URL时与localeurl

localeurl 

随着URLPATTERN像这样:

urlpatterns += i18n_patterns(
    url(r'^user/login/?$','django.contrib.auth.views.login',\ 
      {'template_name':'user/login.html'}), 
) 

和在模板,这

{% url 'django.contrib.auth.views.login' %} 

将语言代码预先两次。它输出“en/en/user/login”。

有没有人有一个想法如何摆脱双语言代码,或者这可能来自哪里?

+1

“通常”你不应该需要使用额外的应用程序使用Django 1.5使用本地化URL-图案。也许Django和localeurl都添加一个前缀。 – Jingo

+0

@Jingo,谢谢你,没有意识到这一点。但是,如果没有“localeurl”,则根本没有任何语言代码被添加到网址中。 – zm0

+0

确保您加载了相应的中间件。无法记住它们,但它在django在线帮助/文档中有很好的记录。 – Jingo

回答

0

的错误是既

urlpatterns += patterns(...)

urlpatterns += i18n_patterns(...)

导致加相同 URL的方式表示错误。 它的工作原理,当图案通过i18n_patterns

也只有补充说,“localeurl”是没有必要的(感谢@Jingo)