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发送邮件接收邮件示例分享
Jan 21 Python
Python中的探索性数据分析(功能式)
Dec 22 Python
解决Python print 输出文本显示 gbk 编码错误问题
Jul 13 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
浅谈python3发送post请求参数为空的情况
Dec 28 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
python线程定时器Timer实现原理解析
Nov 30 Python
Python3 xml.etree.ElementTree支持的XPath语法详解
Mar 06 Python
基于plt.title无法显示中文的快速解决
May 16 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
深度学习详解之初试机器学习
Apr 14 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代码
2008/04/09 PHP
PHP实现的封装验证码类详解
2013/06/18 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
犀利的js 函数集合
2009/06/11 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
2018/12/09 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
Python面向对象进阶学习
2019/05/21 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Python函数默认参数常见问题及解决方案
2020/03/26 Python
Python 在函数上添加包装器
2020/07/28 Python
Python常用模块函数代码汇总解析
2020/08/31 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
中学生自我评价范文
2014/02/08 职场文书
2016年大学生暑假爱心支教活动策划书
2015/11/26 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
解决Golang中ResponseWriter的一个坑
2021/04/27 Golang
JS 基本概念详细介绍
2021/10/16 Javascript
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
基于docker安装zabbix的详细教程
2022/06/05 Servers