【发布时间】:2018-02-10 12:58:05
【问题描述】:
在 Django 1 中,我曾经有以下 URL 映射:
...
url(r'^main/', include('main.urls', namespace='main')),
url(r'.*', include('main.urls'))
r'.*' 映射始终位于最后一行,以处理各种未映射的 URL。
在 Django 2 中,改为使用以下映射:
path('main/', include('main.urls', namespace='main')),
re_path('.*', include('main.urls')),
虽然它也有效,但 Django 抱怨:
?: (urls.W005) URL namespace 'main' isn't unique. You may not be able to reverse all URLs in this namespace
给第二个映射另一个命名空间不起作用。有什么解决办法吗?
【问题讨论】:
-
是的,问题和那个帖子一样,但我确实需要包含
'main.urls'两次。或者,有什么方法可以将 whatever url 指向主页? -
你为什么不写一个将.*重定向到main/.*的视图
-
re_path('.*', views.redirect_view),
-
re_path('.*', views.redirect_view)有效!
标签: django