zoukankan      html  css  js  c++  java
  • django 默认Path转换器 自定义转换器 正则

    Django默认Path转换器

    • str:匹配任何非空字符串,但不含斜杠/,如果你没有专门指定转换器,那么这个是默认使用的;
    • int:匹配0和正整数,返回一个int类型
    • slug:可理解为注释、后缀、附属等概念,是url拖在最后的一部分解释性字符。该转换器匹配任何ASCII字符以及连接符和下划线,比如’ building-your-1st-django-site‘;
    • uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用破折号,所有字母必须小写,例如’075194d3-6885-417e-a8a8-6c931e272f00‘ 。返回一个UUID对象;
    • path:匹配任何非空字符串,重点是可以包含路径分隔符’/‘。这个转换器可以帮助你匹配整个url而不是一段一段的url字符串 

    ​step1 . 在urls.py 的同级目录下,创建converters.py

    class Year_Converters():
        regex = 'd{4}'
        def to_python(self,value):
            return int(value)
    
        def to_url(self,value):
            # return ;04d' % value
            return str(value)

    step 2 注册converters 在同级urls,py 文件

    from django.urls import path,register_converter
    from . import views
    from . import converters
    
     #注册转换器
     register_converter(converters.Year_Converters,'year')
      urlpatterns = [
        path('show1/<year:arg>', views.show1),
    ]

     正则 在urls,py 文件中,注意参数需要加() ,这里的参数是元组

    from django.urls import re_path
    urlpatterns = [
        re_path('article/(d+)/', views.index),
    ]

     正则关键字

    re_path(r'^show3/(?P<id>d{4})/', views.show3)
  • 相关阅读:
    shell-用户权限操作
    Python 库列表
    【random】模块运用,随机数实例
    Python 原生文件读写
    Python 运用pymysql+pandas 完成连接 MySQL 数据库读
    MySQL命名、设计及使用规范
    测试for循环计算耗时
    正则表达式速查表
    MySQL8.0.21下载安装详细教程
    MySQL 修改目录重置
  • 原文地址:https://www.cnblogs.com/tingxin/p/12932259.html
Copyright © 2011-2022 走看看