视图响应过程:浏览器输入(发送请求)->django获取信息并去掉ip端口,剩下路径->urls路由匹配->视图函数处理->返回到浏览器(做出响应)
url各部分:
一、url匹配正则
re_path(r'^xxx/(.*?)/', views.xxx)
django2.2中用re_path函数来匹配正则
django1.1用url函数匹配正则
一般用正则挖空来做参数传递
二、从表单中获取参数(请求参数)
模板文件:
视图函数:
三、反向解析
㈠、html中
1.在根路由中添加namespace参数(注意:include函数的参数为一个元组,('urls_name', 'namespace_name'),分别是urls文件名和namespace的名字)
2.在子路由中添加name参数
3.引用时,用语法 {% url 'name:namespace' value1 value2 … %} 取代用地址的形式,优点在于更改目标文件时,不需要修改源码
㈡、views.py中
用reverse(‘namespace:name’)方法引入
1.若带位置参数:reverse(‘namespace:name’, args=(value,))
2.若带关键字参数:reverse(‘namespace:name’,kwargs={key=value,})