django路由层

简易版本django请求生命周期流程图(重要)

该图是我们学习的django的流程 也是后期复习django重要的手段

django路由层_第1张图片

路由匹配

url(正则表达式,函数或者类型地址)

路由匹配的原则:从上往下正则表达式能够匹配到内容就算匹配成功会立刻执行后面的视图函数并且结束整个路由匹配过程,一个视图函数可以对应多个路由,一个路由只对应一个视图函数
    
优化操作在路由匹配环节如果第一次都没有匹配上django会在路径后面加斜杠再次匹配
	APPEND_SLASH = True  # 改参数可以控制 简易使用默认的自动添加
 
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    # 首页
    url(r'^$',views.home),
    url(r'^test/$',views.test),
    url(r'^testadd/$',views.testadd),
    # 404页面
    url(r'',views.error)
]

无名有名分组

# 无名分组
url(r'^test/([0-9]{4})/',views.test)  # test(request,1234)
"""在路由匹配如果将某部分正则使用括号括起来了 那么该部分正则匹配到的内容会当做位置参数传递给后面的视图函数"""

# 有名分组,year为分组名
url(r'^testadd/(?P[0-9]{4})',views.testadd)  
# testadd(request,year=1234)
"""在路由匹配如果将某部分正则使用括号括起来了 那么该部分正则匹配到的内容会当做关键字参数传递给后面的视图函数
"""

# 能否混用?
	不能混用
    url(r'^index/(\d+)/(?P\d+)/',views.index)
# 单个情况下

你可能感兴趣的:(路由分发,反向解析,请求流程分析)