【问题标题】:Using Django's new i18n_patterns: How to fall back to the default language specified in the settings module?使用 Django 的新 i18n_patterns:如何回退到设置模块中指定的默认语言?
【发布时间】:2012-06-14 21:01:46
【问题描述】:

我正在使用 Django 1.4 的新 i18n_patterns

from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns

from django.contrib import admin
admin.autodiscover()

urlpatterns += i18n_patterns('',
    url(r'^admin/', include(admin.site.urls)),
)

它适用于每一种活跃的语言:

/en/admin/ # Ok
/es/admin/ # Ok

但这失败了:

/admin/ # 404 Not found

如何避免 404 错误并重定向到所请求 URL 的语言前缀版本(不仅是管理面板)?

是写一个自定义的中间件解决方案吗?为什么这在 Django 中没有默认出现?

【问题讨论】:

    标签: python django internationalization url-routing urlconf


    【解决方案1】:

    【讨论】:

    • 糟糕...我的错!我想文档需要进一步澄清这一点。然而,在阅读了整个翻译部分之后,很明显django.middleware.locale.LocaleMiddleware 是翻译所有内容的必要条件。谢谢!
    • 答案仍然适用于 Django 1.9。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    相关资源
    最近更新 更多