Django框架版本區別

2022-09-28 22:24:29 字數 1709 閱讀 7023

目錄

django中1.x與2.x,3.x之間路由的區別
1.django1.x路由層使用的是url方法
而在django2.xhe3.x版本中路由層使用的是path方法

1.x第乙個引數正規表示式

url()

2.x和3.x第乙個引數不支援正規表示式,寫什麼就匹配什麼,100%精準匹配

path()

如果想要使用正則,那麼2.x與3.x也有相應的方法

from django.urls import path,re_path

re_path # 等價於 1.x裡面的url方法

re_path(r'^index/',index),

url 2.x和3.x不推薦使用 但是可以用

from django.conf.urls import url

url(r'^login/',login)

2.雖然path不支援正則 但是它的內部支援五種轉換器
# 將第二個路由裡面的內容先轉成整型然後以關鍵字的形式傳遞給後面的檢視函式

path('index//',views.index)

def index(request,id): # id當作關鍵字進來

3.五種轉換器

str,匹配除了路徑分隔符(/)之外的非空字串,這是預設的形式

int,匹配正整數,包含0。

slug,匹配字母、數字以及橫槓、下劃線組成的字串。

uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。

path,匹配任何非空字串,包含了路徑分隔符(/)(不能用?)

4.除了有預設的五個轉換器之外 還支援自定義轉換器(了解)
class monthconverter:

# 屬性名必須為regex

regex='\d' # 匹配兩個數字

def to_python(self, value):

return int(value) # int型別

def to_url(self, value):

return value # 匹配的regex是兩個數字,返回的結果也必須是兩個數字

# 使用轉換器

from django.urls import path,register_converter

# 先註冊轉換器

register_converter(monthconverter,'mon')

urlpatterns = [

path('articles////', views.article_detail, name='aaa'),

]

5.模型層裡面1.x外來鍵預設都是級聯更新刪除的
但是到了2.x和3.x中需要你自己手動配置引數

models.foreignkey(to='publish')

models.foreignkey(to='publish',on_delete=models.cascade)

2.x和3.x配置外來鍵級聯更新刪除

on_delete=models.cascade

紅樓版本 區別

紅樓夢 在流傳過程中逐步形成了眾多版本,大致可分為兩個系統 庚辰本是目前所見存脂批最多的抄本,這些批語有著重要的美學和史料價值。這個本子可能是作者生前最後一次改定的本子,也最接近作者手稿。所以,庚辰本在 紅樓夢 一書的流行及研究過程中扮演了乙個重要的角色,自有它的特殊地位。該原本八十回,中缺六十 四...

偽靜態 虛擬環境 django版本區別

將動態網頁假裝成是靜態的 這樣做的目的是為了提高搜尋引擎的seo查詢優先順序 搜尋在收錄 的時候 會優先收錄看上去像是靜態檔案的資源 比如在你的後面加乙個.html偽裝成靜態檔案,但其實你根本不是靜態檔案 但是無論你怎麼使用偽靜態進行優化 你也幹不過rmb玩家 通常針對不同的專案 只會安裝該專案所用...

Apollo 各版本區別

apollo 1.0 也稱為自動gps航點跟蹤 可在封閉的場地 例如測試跑道或停車場 中工作。必須進行此安裝,以確保apollo與您的車輛完美配合。下圖列出了apollo 1.0中的各個模組。apollo 1.5適用於固定車道巡航。通過新增lidar,具有該版本的車輛現在可以更好地感知周圍環境,並且...