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