【Django】1.0与2.0的区别

  • django2.0里面的path第一个参数不支持正则,你写什么就匹配什么,100%精准匹配
  • django2.0里面的re_path对应django1.0中的url
  • 虽然django2.0里面的path不支持正则表达式,但是它提供了5个默认的转换器
    • str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
    • int,匹配正整数,包含0。
    • slug,匹配字母、数字以及横杠、下划线组成的字符串。
    • uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
    • path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
  • django2.0中可以自定义转换器(分三步)
  • 正则表达式
  • 注册
   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:路由匹配到的数据默认都是字符串形式

参考资料

人已赞赏
其它

【Django】数据库的增删改查

2020-10-27 20:54:24

其它

Vultr快速搭建LAMP/LNMP环境并创建WordPress站点

2020-10-27 20:57:58

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索