我一直在使用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'),
)
任何帮助或指导将不胜感激。
答案 0 :(得分:1)
要解决此问题,只需在settings.py中设置这些配置
LANGUAGE_CODE='en'
prefix_default_language=False