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)
  1. 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)
相关推荐
小溪学编程1 分钟前
Java InputStream 详解:从基础到实战
java·python·php
Sagittarius_A*2 分钟前
【好靶场】SQL注入-时间盲注
数据库·sql
雪芽蓝域zzs9 分钟前
第十六节:递归组件实现无限层级折叠侧边栏菜单
开发语言·javascript·ecmascript
神明不懂浪漫36 分钟前
【第二章】库、表、增删改查操作
开发语言·数据库·经验分享·笔记
传奇开心果编程37 分钟前
【Rust入门知识点学与练】第11课:HashMap 键值对集合
开发语言·学习·rust
其实防守也摸鱼42 分钟前
OpenClaw 深度解析:从原理到实战的完整指南
运维·服务器·数据库·github·copilot
笨笨饿43 分钟前
#137_死机恢复现场_Armino平台AP系统swd调试
git·python·stm32·单片机·嵌入式硬件·物联网·vim
2601_962382431 小时前
python常用函数大全pdf-python函数大全.pdf
python·内置函数·io操作·集合操作·数学运算
hzp6661 小时前
doris学习6:参数调优
数据库·doris·参数·数据库调优
yume_sibai1 小时前
03-Rust 函数式编程特性(闭包 + Iterator + Option/Result + 链式调用)
开发语言·后端·rust