首页 > 其他 > 详细

django 默认Path转换器以及自定义转换器

时间:2020-05-21 19:00:51      阅读:74      评论:0      收藏:0      [点我收藏+]

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)

 

django 默认Path转换器以及自定义转换器

原文:https://www.cnblogs.com/tingxin/p/12932259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!