django路由的路径参数-参数类型
在路由路径中可以传递参数,和指定参数的类型
路径参数类型转换
- str 匹配除路径分隔符'/'之外的任何非空字符串。如果表达式中不包含转换器
,默认就是str - int 匹配0或任何正整数。返回一个int
- slug 匹配任何由ascii字符或数字组成的slug字符串,加上连字符和下划线。
- uuid 匹配格式化的uuid。
- path 匹配任何非空字符串,包括路径分隔符。可以匹配完整的url路径。
路由传递参数,pk名称要和定义的函数参数名称一致
urlpatterns = [
path("detail/int:pk", views.detail),
path("list/int:year/int:month/",views.project_list)]
re_path
re_path(route, view, kwargs=None, name=None)
返回一个对象,表示一条路由个规则包含在urlpatterns
- route 一个字符串,表示一个正则表达式,用来匹配url
- view一个视图
- kwargs一个字典,需要传入的额外参数
- name url的命令
当进行匹配时,从正则表达式中捕获的组会被传递给视图。如果组是命令的,则作为命名的参数,否则作为位置参数。值以字符串的形式进行传递,不进行任何类型转换。
python中,命名正则表达式分组的语法
(?P<name>pattern)
其中,name是组的名字,pattern是正则表达式。
re_path(r'^detail/(\d+)/$', views.detail)
re_path(r"list/(?P<year>[0-9]{4})/(?P<month>[1-9]|1[0-2])/", views.project_list, name="list")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)