我讀了Django書,有些點困惑了我。有什麼區別,使類或def在django
一個是當我們創建form.py或models.py時,我們在裏面編寫了類,但是有一個確定是讓view在網站上顯示在view.py中。
那有什麼區別?如果我在view.py中定義了一些類,我可以使用它們嗎?
我讀了Django書,有些點困惑了我。有什麼區別,使類或def在django
一個是當我們創建form.py或models.py時,我們在裏面編寫了類,但是有一個確定是讓view在網站上顯示在view.py中。
那有什麼區別?如果我在view.py中定義了一些類,我可以使用它們嗎?
是的,你可以使用它們。建議您使用Django創建的結構 - 使其他編碼人員更容易理解。
我想你還應該通讀一些基本的python教程。
是的,你可以使用基於類的視圖,但它們是相當新的概念。
https://docs.djangoproject.com/en/dev/topics/class-based-views/
我個人認爲功能更容易編寫和其代碼庫中的Django本身使用的功能而不是基於類的意見多了不少。
模型表示數據庫。每個模型都是一個數據庫表。 Model類的一個對象只是DB中的一行。所以每次你實例化一個Model類的對象,你實際上是爲你的表(即一行)創建一個條目。因此,用類來表示模型是有意義的。用功能代表將毫無意義。
視圖可以與兩個函數和類表示:
1.功能
一個對URL的請求由功能視圖處理。它接受請求,處理數據並通過模板輸出結果。作爲初學者,這是實現你的觀點的最簡單的方式。先實踐一下理解這一點。基於
2.類瀏覽
視圖也可以被表示爲class based views。閱讀文檔並發現它們是創建的,因爲有時功能視圖總是遵循相同的模式。介紹CBV是爲了讓生活更輕鬆,同時尊重DRY(不要重複自己)的原則。儘管如此,這些一眼就難以理解。我建議你在瞭解功能視圖後開始學習它們。
[編輯]
對不起,我告訴你關於Models
代替Forms
。但是這是相同的原因。表單被表示爲一個類,因爲您正在爲該表單實例化一個條目