Django 2.0国际化| i18n_patterns不起作用

时间:2018-07-11 00:17:53

标签: python django python-3.x internationalization upgrade

我一直在使用i18n,以便根据用户的首选语言,URL包含前缀“ / en /”或“ / es /”。

到目前为止,在使用Django 1.9时,它运行良好,即使用户未在URL中提交前缀,它甚至自动放置了前缀(即mySite.com将重定向到mySite.com/en/)。

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

  

Django使用smce.urls中定义的URLconf,按以下顺序尝试了以下URL模式:

     

en /

     

^ static /(?P。*)$

     

^ images /(?P。*)$

     

空路径与任何这些都不匹配。

在我的根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'),
)

任何帮助或指导将不胜感激。

1 个答案:

答案 0 :(得分:1)

要解决此问题,只需在settings.py中设置这些配置

  LANGUAGE_CODE='en'
  prefix_default_language=False