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统计文件中去重后uuid个数的方法
Jul 30 Python
Python进行数据提取的方法总结
Aug 22 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
python实现画五角星和螺旋线的示例
Jan 20 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
python 模拟银行转账功能过程详解
Aug 06 Python
python实现大量图片重命名
Mar 23 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
Python selenium模块实现定位过程解析
Jul 09 Python
使用Python项目生成所有依赖包的清单方式
Jul 13 Python
python通用数据库操作工具 pydbclib的使用简介
Dec 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操作MySQL事务实例
2014/11/05 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
JS教程:window.location使用方法的区别介绍
2013/10/04 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
jQuery中的ready函数与window.onload谁先执行
2016/06/21 Javascript
layui选项卡效果实现代码
2017/05/19 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
使用python 获取进程pid号的方法
2014/03/10 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python requests模块实例用法
2019/02/11 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
keras的siamese(孪生网络)实现案例
2020/06/12 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
手把手教你实现一个canvas智绘画板的方法
2019/03/04 HTML / CSS
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
诚信考试承诺书
2014/03/27 职场文书
企业新年寄语
2014/04/04 职场文书
委托书怎么写
2014/07/31 职场文书
优秀教师推荐材料
2014/12/16 职场文书
网络管理员岗位职责
2015/02/12 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
python OpenCV学习笔记
2021/03/31 Python