11

我正在使用新i18n_patterns的 Django 1.4:

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 中没有默认出现?

4

1 回答 1

18

看起来您没有启用 django.middleware.locale.LocaleMiddleware

于 2012-06-12T02:47:08.500 回答