其他分享
首页 > 其他分享> > Django1.0与2.0区别

Django1.0与2.0区别

作者:互联网

django1.0与django2.0之间的区别

虚拟环境

给不同的项目配置不同的python解释器

1.0与2.0的区别

  1. django2.0里面的path第一个参数不支持正则,你写什么就匹配什么,100%精准匹配

  2. django2.0里面的re_path对应django1.0中的url

  3. 虽然django2.0里面的path不支持正则表达式,但是它提供了5个默认的转换器

    ​ str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
    ​ int,匹配正整数,包含0。
    ​ slug,匹配字母、数字以及横杠、下划线组成的字符串。
    ​ uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
    ​ path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)

  4. django2.0中可以自定义转换器(分三步)

    1. 正则表达式
    2. 注册
    from django.urls import register_converter
    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,'yyy')
    # PS:路由匹配到的数据默认都是字符串形式

标签:匹配,django2.0,区别,Django1.0,value,默认,字符串,path,2.0
来源: https://www.cnblogs.com/majingjie/p/10999544.html