2016-07-06 40 views
2
之間決定

我試圖重構一些(4號)的工作,如下面的過程幾乎相同AJAX的觀點:獲取某些對象的(數量2-4)使用Django的FBV和CBV

  1. ARGS
  2. 返回一個JSON如果任何對象都沒有找到,否則繼續
  3. 然後我們提取另一個對象(使用在步驟1中找到的對象)來更新和創建一個,如果沒有找到
  4. 創建一個新形式取決於我們在步驟3中獲得的對象的類型並驗證並更新對象
  5. 到底取決於形式有效性

第一2個步驟是在所有4個AJAX視圖共同返回一個JSON。即使他們嘗試使用參數提取對象的模型也很常見。

然而,第3步起,事情本質上是非常不同的。該模型用於提取對象並反過來用於驗證的表單。另外,根據模型的不同,這些ajax視圖中還會有更多的東西發生。

我很新的基於類的視圖和閱讀thisthis。然而,如果我將這4個ajax視圖轉換爲CBV,我無法看到在維護方面我是否會做出非常方便的未來。是的,我們有可能每年創建一次這樣的ajax視圖。

問題是:我應該使用CBV還是不行,因爲如果我使用CBV,我只能停止前兩步的複製?

+0

你是在談論基於類的視圖還是基於類的通用視圖? [基於分類的觀點:來自Russell Keith-Magee的過去,現在和未來視頻](https://youtu.be/8_x6qLfZjjs) – Sayse

+0

@Sayse編輯最後一行,不要混淆CBV和CBGV。感謝那個鏈接。我覺得我需要更多的理解CBV來實現它的美麗。 :) –

+1

上面的視頻做了一個很好的解釋.. – Sayse

回答

2

我個人覺得基於類的視圖更易於閱讀。能夠使用繼承來不重複相同的代碼是很好的,即使我只使用它一點。我發現基於類的視圖在開發RESTful API時真的很有用,因爲您可以處理同一類中的所有不同的請求方法。

相關問題