在主urls.py中,规定路由系统:
url(r'^app01/',include('app01.urls'))则规定了app01开头的路径,继续到app01目录下的urls.py中进行匹配。
若app01目录下的urls.py有这样的路由:
url(r'^index.html$', views.index)
则可以匹配 /app01/index.html的URL
没有匹配成功的url,可以匹配一个默认页面。可以在urls.py最后写一个默认:
def default(requests):
return HttpResponse("哥们,走错了。。。")
url(r'^',default)
也可以转到主页:
url(r'^',views.index)
给url关系命名:
url(r'^index/',views.index,name='n1')
1、可以根据名称反向生成url
from django.urls import reverse
reverse('n1')则表示/index/,也即签名定义的url。这样用于根据名字反生成url。
同样的:
url(r'^index/(\d+)',views.index,name='n1')
reverse('n1',args=(451,)),这样表示的是/index/451/,也即可以定义url。
又比如:
url(r'^index/?P(\d+)',views.index,name='n1')
reverse('n1',kwargs={'a1':1111}),这样表示/index/1111。
2、根据url名称,在模板中使用