当前位置: 首页 > news >正文

django之url路径

方式一:path 

语法:<<转换器类型:自定义>>

作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数

类型:

  • str: 匹配除了”/“之外的非空字符串。  /test/zvx
  • int: 匹配0或任何整数。  /test/100 
  • slug: 匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签 例:“detail/<slug:sl>” 匹配:/detail/this-is-django    /test/100    /test/zvx   /text/100grade
  • path: 匹配非空字段,包括路径分隔符”/" 例:”v1/goods/<path:ph>" 匹配: /v1/goods/a/b/c

例子:path(“page/int:page”,views.xxx)

 1)str

url配置
path('test/<str:number>/',test)
view 代码
def test(request,number):print(number)return HttpResponse(number)

 2) int

url配置
path('test/<int:number>/',test)
view 代码
def test(request,number):print(number)return HttpResponse(number)

 3)slug

url配置
path('test/<slug:number>/',test)
view 代码
def test(request,number):print(number)return HttpResponse(number)

4)path

url配置
path('test/<path:number>/',test)
view 代码
def test(request,number):print(number)return HttpResponse(number)

url配置
path('test/<path:number>',test)
view 代码
def test(request,number):print(number)return HttpResponse(number)

url配置
path('child/<str:eid>/<path:oid>/',child),
view代码
def child(request, eid, oid):print('eid', eid)print('oid', oid)return HttpResponse('eid is '+ eid + ' and oid is '+ oid)

url配置
path('child/<str:eid>/<path:oid>',child),
view代码
def child(request, eid, oid):print('eid', eid)print('oid', oid)return HttpResponse('eid is '+ eid + ' and oid is '+ oid)

 注意看,后面至少匹配了/

方式二:re_path

在url的匹配过程中可以使用正则表达式进行精准匹配

语法:re_path(reg,view,name=xxx)正则表达式为命名分组模式(?Ppattern);

.+ 表示至少1个值。.* 表示可以有可以为空

url配置
url(r"^child/(?P<eid>.+)/(?P<oid>.*)/$", child)
view代码
def child(request, eid, oid):print('eid', eid)print('oid', oid)return HttpResponse('eid is '+ eid + ' and oid is '+ oid)

 

http://www.lryc.cn/news/393200.html

相关文章:

  • 【OnlyOffice】桌面应用编辑器,插件开发大赛,等你来挑战
  • [学习笔记]SQL学习笔记(连载中。。。)
  • Buuctf之SimpleRev做法
  • 【云原生监控】Prometheus 普罗米修斯从搭建到使用详解
  • 【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)
  • Cookie与Session
  • Nuxt3 的生命周期和钩子函数(十一)
  • Windows ipconfig命令详解,Windows查看IP地址信息
  • 在C#/Net中使用Mqtt
  • VBA提取word表格内容到excel
  • html+css+js图片手动轮播
  • 【十三】图解 Spring 核心数据结构:BeanDefinition 其二
  • 数据库作业
  • 12、matlab中for循环,if else判断语句,break和continue用法以及switch case语句使用
  • AcWing 3207:门禁系统 ← 桶排序中“桶”的思想
  • 开发个人Go-ChatGPT--3 服务拆分
  • Android --- 新电脑安装Android Studio 使用 Android 内置模拟器电脑直接卡死,鼠标和键盘都操作不了
  • 从入门到深入,Docker新手学习教程
  • Postman编写测试脚本
  • 代码随想录算法训练Day57|LeetCode200-岛屿数量、LeetCode695-岛屿的最大面积
  • StopWatch的使用
  • MySQL基础篇(三)数据库的修改 删除 备份恢复 查看连接情况
  • android手机电视相框项目-学员做出个bug版本邀请大家review提意见
  • web零碎知识2
  • Android项目框架
  • vue 模糊查询加个禁止属性
  • MySQL 主从复制中 MHA 工具的研究与实践
  • Hi3861 OpenHarmony嵌入式应用入门--TCP Server
  • Poker Game, Run Fast
  • 订单折扣金额分摊算法|代金券分摊|收银系统|积分分摊|分摊|精度问题|按比例分配|钱分摊|钱分配