其他分享
首页 > 其他分享> > Django 2版本

Django 2版本

作者:互联网

    django2.0里面的path第一个参数不支持正则,你写什么就匹配,100%精准匹配
        
        django2.0里面的re_path对应着django1.0里面的url
        
    虽然django2.0里面的path不支持正则表达式,但是它提供五个默认的转换器
    
        str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
        int,匹配正整数,包含0。
        slug,匹配字母、数字以及横杠、下划线组成的字符串。
        uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
        path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
    
    自定义转换器
        1.正则表达式
        2.类
        3.注册
    
    # 自定义转换器
    class FourDigitYearConverter:
        regex = '[0-9]{4}'
        def to_python(self, value):
            return int(value)
        def to_url(self, value):
            return '%04d' % value  # 占四位,不够用0填满,超了则就按超了的位数来!
    register_converter(FourDigitYearConverter, 'yyyy')
    PS:路由匹配到的数据默认都是字符串形式

 

标签:匹配,django2.0,value,Django,版本,转换器,字符串,path
来源: https://www.cnblogs.com/HUIWANG/p/11341104.html