Django Path转换器自定义及正则代码实例
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
classYear_Converters():
regex='\d{4}'
defto_python(self,value):
returnint(value)
defto_url(self,value):
#return;04d'%value
returnstr(value)
step2注册converters在同级urls,py文件
fromdjango.urlsimportpath,register_converter
from.importviews
from.importconverters
#注册转换器
register_converter(converters.Year_Converters,'year')
urlpatterns=[
path('show1/',views.show1),
]
正则在urls,py文件中,注意参数需要加(),这里的参数是元组
fromdjango.urlsimportre_path
urlpatterns=[
re_path('article/(\d+)/',views.index),
]
正则关键字
re_path(r'^show3/(?P
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。