django1.0與django2.0之間的區別
虛擬環境
給不同的項目配置不同的python解釋器
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:路由匹配到的數據默認都是字符串形式