Django 2.0 国际化 | i18n_patterns 不工作

Django 2.0 Internationalization | i18n_patterns not working

我一直在使用 i18n,因此 URL 包含前缀“/en/”或“/es/”,具体取决于用户的首选语言。

到目前为止它在使用 Django 1.9 时工作正常,它甚至自动放置前缀,即使用户没有在 URL 中提交它(即 mySite.com 将重定向到 mySite。com/en/).

现在我已升级到 2.0,它无法正常工作并显示 404 错误:

Using the URLconf defined in smce.urls, Django tried these URL patterns, in this order:

en/

^static/(?P.*)$

^images/(?P.*)$

The empty path didn't match any of these.

在我的根 urls.py 我有:

urlpatterns = i18n_patterns(
    path('admin/', admin.site.urls),

    path('login/', anonymous_required(views.login), {'template_name': 'login.html', 'authentication_form': LoginForm}, name='login'),

    path('', include('matrix.urls'), name='matrix'),
)

如有任何帮助或指导,我们将不胜感激。

为了解决这个问题,只需在 settings.py

中设置这些配置
  LANGUAGE_CODE='en'
  prefix_default_language=False