Django:如果链接与urlpatterns不匹配,则重定向

时间:2018-06-12 22:14:13

标签: django redirect url-pattern

如何让django从www.example.com重定向到www.example.com/home?

下面你可以看到我的urlpaterns并且我使用url(r'', RedirectView.as_view(pattern_name='home', permanent=False))重定向到我的/主页但是当它检测到没有/的链接时,它会将我重定向到/ home页面。

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^home/', views.home, name="home"),
    url(r'^surukkam/$',views.shrink,name="surukkam"),
    url(r'^(?P<inputURL>[0-9a-zA-Z]+)/$',views.retrieve,name="virivu"),
    url(r'', RedirectView.as_view(pattern_name='home', permanent=False))
]

1 个答案:

答案 0 :(得分:0)

它正在重定向,因为您在主页网址末尾错过了^$

urlpatterns = [
    url(r'^admin/$', admin.site.urls),
    url(r'^home/$', views.home, name="home"),
    url(r'^surukkam/$',views.shrink,name="surukkam"),
    url(r'^(?P<inputURL>[0-9a-zA-Z]+)/$',views.retrieve,name="virivu"),
    url(r'^$', RedirectView.as_view(pattern_name='home', permanent=False))
]

^$ - 它是一个正则表达式,用于指定URL字符串的起点和终点。

只要您的Django检测到空字符串,它就会指向此URL。