三、路由层(urls.py)
一、路由匹配 1. URL第一个参数是正则表达式,一旦匹配到内容,会立刻结束匹配关系 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^test/$', views.test), ] 2. django路由匹配时,先不加斜杠匹配一次,如果匹配不上,则加斜杠再匹配一次,再匹配不上,就报错。取消自动加斜杠的功能,需要在settings中加上下面代码。 APPEEND_SLASH = False 3. 路由匹配只匹配URL部分,不配‘?’后面get携带的参数 二、有名分组与无名分组 1. 无名分组 函数会将无名分组内正则表达式匹配到的内容当做位置参数传递给视图函数。 a. 路由 url(r'^test/(\d+)/', views.test) b. 后端 def test(request, '正则表达式匹配到的内容') pass 2. 有名分组 函数会将有名分组内正则表达式匹配到的内容当做关键字参数传递给视图函数。 a. 路由 url(r'^test/(?P<year>\d+)/', views.test) b. 后端 def test(request, 'year') pass 3. 同一匹配函数内无名分组和有名分组不能混合使用 三、反向解析 根据别名,动态解析出一个结果,该结果可以直接访问对应的URL。 1.