Django Path转换器自定义及正则代码实例


Posted in Python onMay 29, 2020

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)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python完全新手教程
Feb 08 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
python如何通过实例方法名字调用方法
Mar 21 Python
python爬取个性签名的方法
Jun 17 Python
python 多线程串行和并行的实例
Feb 22 Python
python re模块匹配贪婪和非贪婪模式详解
Feb 11 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
Mar 12 Python
python def 定义函数,调用函数方式
Jun 02 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
Django3中的自定义用户模型实例详解
Aug 23 Python
python Django框架快速入门教程(后台管理)
Jul 21 Python
Python新手如何理解循环加载模块
May 29 #Python
Python新手如何进行闭包时绑定变量操作
May 29 #Python
如何理解python中数字列表
May 29 #Python
Django实现前台上传并显示图片功能
May 29 #Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
May 29 #Python
Django实现后台上传并显示图片功能
May 29 #Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
May 29 #Python
You might like
PHP Token(令牌)设计
2008/03/15 PHP
PHP_SELF,SCRIPT_NAME,REQUEST_URI区别
2014/12/24 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
javascript 常用方法总结
2009/06/03 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
深入理解Javascript中this的作用域
2014/08/12 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
nw.js实现类似微信的聊天软件
2015/03/16 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
jQuery实现全选、反选和不选功能
2017/08/16 jQuery
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
Node.js assert断言原理与用法分析
2019/01/04 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
python爬虫_实现校园网自动重连脚本的教程
2018/04/22 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Python Cookie 读取和保存方法
2018/12/28 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
python返回数组的索引实例
2019/11/28 Python
Python turtle画图库&amp;&amp;画姓名实例
2020/01/19 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
Python定义一个Actor任务
2020/07/29 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
毕业生自我鉴定
2013/12/04 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
JS ES6异步解决方案
2021/04/29 Javascript
Django基础CBV装饰器和中间件
2022/03/22 Python