Django路由控制器urls
路由, 是一种映射关系,是把客户端请求的url地址和用户请求的应用程序(这里指django里面的视图进行一对一绑定映射的一种关系)。
在django中所有的路由最终都被保存到一个变量 urlpatterns., urlpatterns必须声明在主应用下的urls.py总路由中,这是由配置文件settings设置的。
在django运行中,当客户端发送了一个http请求到服务端,服务端的web服务器则会从http协议中提取url地址, 从程序内部找到项目中添加到urlpatterns里面的所有路由信息的url进行遍历匹配。如果相等或者匹配成功,则调用当前url对象的视图方法。
在给urlpatterns路由列表添加路由的过程中,django一共提供了2个函数给开发者注册路由。
from django.urls import path # 字符串路由 from django.urls import re_path # 正则路由(会把url地址看成一个正则模式与客户端的请求url地址进行正则匹配) # path和re_path 使用参数一致,仅仅在url参数和接收参数时写法不一样
1、路由的基本使用
例如:
1)path:字符串路由,默认使用的是精准匹配,路径前后必须完全一致 2)path不支持分组 3)re_path: 正则路由 4)r的含义:正则表达式字符串的开头字母“r”, 它告诉Python这是个原始字符串,不需要处理里面的反斜杠(转义字符)
2、路由传参
(1)普通分组传参
路由:
视图:
(2)有名分组传参
路由:
视图:
3、路由分发
from django.urls import include, path path(app01/', include(app01.urls'))