Django 路由系统(URL配置, URLConf)

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL与要为该URL调用的视图函数之间的映射表。

基本格式:

from django.conf.urls import url

urlpatterns = [
     url(正则表达式, views视图函数,参数,别名),
]
# 正则表达式:一个正则表达式字符串 # views视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串 # 参数:可选的要传递给视图函数的默认参数(字典形式) # 别名:一个可选的name参数

  

 路由系统   --> urls.py  --> 映射(对应关系) 
	
		网址或URL  对应     函数
		
		正则表达式            视图函数(处理业务逻辑)
		url(r'^blog/$',                 views.blog),
		url(r'blog/\d{4}/\d{1,2}',    views.blog),  弊端:获取不到网址里面输入的年份和月份
		url(r'blog/(\d{4})/(\d{1,2})', views.blog), 
			传参数:blog(request, arg1, arg2) ,相当于 调用视图函数时除request参数外,传了两个位置参数
			弊端: 参数的顺序要一一对应,不能乱
		url(r'blog/(?P<year>\d{4})/(?P<month>\d{1,2})', views.blog),
			传参数:blog(request, year=xxxx, month=xx)
			
		
		inclue 网址/URL 分级处理(路由分发)
			url(r'^app01/', include(app01_urls)),
			url(r'^app02/', include(app02_urls)),
		
		网址/URL规则命名(反向解析)给URL的正则表达式起别名
		所有URL/网址写死的地方都要用反向解析
		模板里面:
			{% url "名字写在这里"%}
		视图里面:
			from django.urls import reverse
			reverse("名字", args=(1, 2))

  

 

posted @ 2018-01-17 15:55  丶迷城  阅读(65)  评论(0)    收藏  举报