如果我创建网址
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^about/',views.about , name = 'about'),
url(r'^rango/',views.index, name = 'index'),
)
链接127.0.0.1:8000/about
和127.0.0.1:8000/about/about/
会引导您转到同一页面吗?我怎么阻止它?我只想要
domain-name/about/
有效且任何内容(/about/about/about/...
)都应该是无效页面。
答案 0 :(得分:2)
将$添加到最后
url(r'^ about / $',views.about,name ='about'),
答案 1 :(得分:0)
更一般地说,about/anything/
也会匹配。 $
表示字符串的结尾(或者在本例中为url),就像^
表示字符串的开头一样。检查r'^about/'
仅检查网址是以about/
开头,而不是结束的位置。
这通常是您在包含其他网址配置时所需的行为,例如admin/
。在这种情况下,模式不应该在admin/
之后结束,但是应该有另一部分与包含文件中的已配置URL匹配。但是,如果您的模式是单个视图,您通常希望网址在模式结束后结束,即包含$
时的网址,例如r'^about/$'
。