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)

 

相关推荐

  1. Django资源路径问题

    2024-07-10 05:00:06       38 阅读
  2. Backend - Django URL 路由 & 重定向 & url编码解码

    2024-07-10 05:00:06       48 阅读
  3. Django笔记(三):路由urls

    2024-07-10 05:00:06       44 阅读
  4. Django 里获取url里的参数

    2024-07-10 05:00:06       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 05:00:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 05:00:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 05:00:06       58 阅读
  4. Python语言-面向对象

    2024-07-10 05:00:06       69 阅读

热门阅读

  1. CSS 图标:简化设计,优化用户体验

    2024-07-10 05:00:06       29 阅读
  2. C# 中使用模式匹配 备忘

    2024-07-10 05:00:06       26 阅读
  3. 【selenium】元素等待

    2024-07-10 05:00:06       21 阅读
  4. HTMLtable表转C#DataTable

    2024-07-10 05:00:06       33 阅读
  5. WPF设置全局样式

    2024-07-10 05:00:06       26 阅读
  6. AJAX学习笔记上(学习自用)

    2024-07-10 05:00:06       30 阅读
  7. linux之段错误的分析

    2024-07-10 05:00:06       26 阅读
  8. 三级_网络技术_11_路由设计技术基础

    2024-07-10 05:00:06       19 阅读
  9. Ubuntu上如何安装nvm包管理器

    2024-07-10 05:00:06       24 阅读
  10. python项目常见使用的传参调试方法

    2024-07-10 05:00:06       32 阅读