名称空间2.0path
2024-08-26 05:19:34
Django 1点几跟2点几的区别
2.0path 是什么路径就是什么路径。第一个参数不再是正则表达式。
转换器
path的分组
<int:year> 匹配正整数
<str:year> 除了斜杠之外的非空字符
<slug:year> 字母数字下划线-组成的字符串
<uuid:year> 随机字符串 (可以用来生成客户的id)
<path:year> 任意非空字符串
自定义转换器
对于一些复杂或者复用的需要,可以定义自己的转化器。转化器是一个类或接口,它的要求有三点:
regex
类属性,字符串类型
to_python(self, value)
方法,value是由类属性regex
所匹配到的字符串,返回具体的Python变量值,以供Django传递到对应的视图函数中。to_url(self, value)
方法,和to_python
相反,value是一个具体的Python变量值,返回其字符串,通常用于url反向引用。
class FourDigitYearConverter:
regex = '[0-9]{4}'
def to_python(self, value):
return int(value)
def to_url(self, value):
return '%04d' % value 使用register_converter
将其注册到URL配置中:
from django.urls import register_converter, path
from . import converters, views
register_converter(converters.FourDigitYearConverter, 'yyyy')
urlpatterns = [
path('articles/2003/', views.special_case_2003),
path('articles/<yyyy:year>/', views.year_archive),
...
]
最新文章
- Android高手速成
- servlet 中文乱码问题
- 【奶昔队ROUND#1】
- Node初学者入门,一本全面的NodeJS教程(转载)
- Struts2 之 实现文件上传和下载
- jquery源码分析
- POJ_Fibonacci POJ_3070(矩阵快速幂入门题,附上自己写的矩阵模板)
- IT连创业系列:新的一年,先淫文一篇!
- 10-TypeScript中的接口
- Linux时间子系统之七:定时器的应用--msleep(),hrtimer_nanosleep()
- HTTP请求头中各字段解释
- Itreatot接口实现类中modCount的作用
- Android SVN上传项目
- Brainfuck反汇编(Python)
- java.lang.IllegalArgumentException: Service Intent must be explicit 解决办法
- v$、v_$、gv$之间的关系
- ThinkPHP 模型方法 setInc() 和 setDec() 使用详解
- LinkedList详解
- test20180919 递归问题
- 【树莓派】crontab的两个问题
热门文章
- ElasticSearch(五):Java操作ElasticSearch执行查询
- [CQOI2016]手机号码
- P2819 图的m着色问题(DFS)
- AJAX方式发送远程请求报错:No &#39;Access-Control-Allow-Origin&#39; header
- org.xml.sax.SAXParseException;在实体引用中, 实体名称必须紧跟在 &#39;&;&#39; 后面
- sklearn官网-多分类问题
- 通过this()调用有参构造方法
- Codeforces Round #486 (Div. 3)-B. Substrings Sort
- 用PhoneGap创建第一个项目
- scrapy框架原理学习