django版本区别/与版本匹配
一、區別
路由層
1.django 1.x路由層使用url方法
??? django 2.x和3.x版本使用path方法
??????? url() 第一個參數支持正則
??????? path()第一個參數是不支持正則的
??????? 可以使用?re_path替代url()
from django.urls import re_path # django2.0中的re_path #不建議導入url,不能區分版本 #from django.conf.urls import url # 在django2.0中同樣可以導入1.0中的urlurlpatterns = [re_path(r'^index/',index ), ]2.不支持正則,但內部支持五種轉換器
path('articles/<int:article_id>/detail/', views.detail_view)django默認支持一下5種轉換器(Path converters)
str,匹配除了路徑分隔符(/)之外的非空字符串,這是默認的形式
int,匹配正整數,包含0。
slug,匹配字母、數字以及橫杠、下劃線組成的字符串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字符串,包含了路徑分隔符(/)(不能用?)
3.還有自定義轉換器
參考:https://www.cnblogs.com/xiaoyuanqujing/articles/11642628.html
模型層
1.x 默認級聯更新刪除的
2.x和3.x需要自己手動配置參數
#1.x blog = models.OneToOneField(to='Blog', null=True,)#2.x blog = models.OneToOneField(to='Blog', null=True, on_delete=models.CASCADE())版本匹配
python對應django版本的對應表,開始django前建議根據匹配版本避坑
Django version ——Python versions
1.11 —— 2.7, 3.4, 3.5, 3.6, 3.7 (added in 1.11.17)
1.8 —— 2.7, 3.2 (until the end of 2016), 3.3, 3.4, 3.5
1.9,1.10 —— 2.7,3.4,3.5
2.0 —— 3.4, 3.5, 3.6, 3.7
2.1, 2.2 —— 3.5, 3.6, 3.7
3.0, 3.1 —— 3.6, 3.7, 3.8
另外對于python和mysql對應版本參考如下:
參考
https://zhuanlan.zhihu.com/p/89354539
總結
以上是生活随笔為你收集整理的django版本区别/与版本匹配的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看安装软件/Select-object
- 下一篇: django22:复制网页与css/时区