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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
深入理解Python对Json的解析
Feb 14 Python
python爬取个性签名的方法
Jun 17 Python
Python列表推导式与生成器用法分析
Aug 02 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
Aug 05 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 Python
Python进程池与进程锁之语法学习
Apr 11 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
星际争霸任务指南——人族
2020/03/04 星际争霸
启用Csrf后POST数据时出现的400错误
2015/07/05 PHP
smarty的section嵌套循环用法示例
2016/05/28 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
php5.6.x到php7.0.x特性小结
2019/08/17 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
JS Array对象入门分析
2008/10/30 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
javascript数组去掉重复
2011/05/12 Javascript
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
用Node.js通过sitemap.xml批量抓取美女图片
2015/05/28 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
2015/09/11 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
2020/12/29 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
python妙用之编码的转换详解
2017/04/21 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
python3获取当前目录的实现方法
2019/07/29 Python
python分布式计算dispy的使用详解
2019/12/22 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
简历中的自我评价范文
2014/02/05 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书