Python 使用url反向模板筛选器和带有localeurl的i18n url时,语言代码前面加了两次前缀
Django 1.5,使用应用程序Python 使用url反向模板筛选器和带有localeurl的i18n url时,语言代码前面加了两次前缀,python,django,django-localeurl,Python,Django,Django Localeurl,Django 1.5,使用应用程序 localeurl 按照这样的模式: 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
localeurl
按照这样的模式:
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”
有人知道如何摆脱双语言代码吗,或者这可能来自哪里吗?错误是在这两种代码中添加了相同的url模式
urlpatterns+=模式(…)
和
urlpatterns+=i18n\u模式(…)
这导致了上述错误。
只有通过i18n\u模式添加模式时,它才起作用
此外,“localeurl”不是必需的(谢谢@Jingo)“通常”您不需要使用Django 1.5的附加应用程序来使用本地化url模式。也许Django和localeurl都添加了前缀。@Jingo,谢谢你,没有意识到这一点。但是,如果没有“localeurl”,则根本不会向url添加任何语言代码。请确保加载适当的中间件。我记不起来了,但在django在线帮助/文档中有很好的记录。