读栈溢出很久了,第一次来这里请教一下。
该应用程序是双语的。我在 urlpatterns 中定义了要使用 ugettext_lazy 翻译的 url。用户选择第一种语言并且 url 可以正常工作,如果他将 lang 更改为第二种语言,它也可以正常工作。
但是如果用户选择第一种语言并在第二种语言中输入 url,他会得到 404,因为没有匹配,因为 urlpatterns 被翻译为第一种语言。
我怎么能强迫 Django 再次检查翻译成第二语言的 urlpatterns?我想显示一个页面(如果存在),就好像 url 将在第一个语言中输入一样。
我使用 LocaleMiddleware。
我想过设置 cookie 和重定向,但如果没有找到,在用户 url 中将显示翻译为第二语言的 url,而不是用户输入的内容,这可能会产生误导。
有任何想法吗?
问候,迈克
编辑:我不使用那些 i18n 模式。我有类似的东西:
url(_(r'^contact/'), 包括('contact.urls')),
并希望 Django 无论选择何种语言都显示适当的视图。如果用户输入 /contact/ 或翻译成第二语言 /kontakt/,则应显示视图。