2016-08-20 53 views
1

的建議似乎是有道理的,因爲self沒有在使用的方法,但現在我很好奇:IDE建議裝點Django的CBV方法與@staticmethod

  • 是CBV的的監督和用戶應手動修飾每個@staticmethod

  • Django中是否已經有一些代碼可以自動使所有的CBV方法變爲靜態的?

下面是我正在談論的屏幕截圖。它使用DRF的CBV,但是當我使用vanilla Django CBV時,這也是同樣的建議。

enter image description here

回答

1

不,你不應該這樣做。這些是實例方法,需要保持如此。

雖然您沒有使用任何實例值或在其中調用任何實例方法,但看起來有點奇怪。通常你會通過self.kwargs引用URL參數,並調用其他方法,如self.get_context_data。如果你沒有這樣做,我想知道你是否真的從使用CBV獲得任何好處。

(其實我平時的建議是,你沒有重載getpost可言。那些通常委託給那些覆蓋更實用更具體的方法)

+0

我不太知道什麼是正確的實現cbv應該看起來像,而且我甚至沒有看到使用cbv的好處。我應該只使用函數視圖,直到找到使用cbv的理由爲止? – dtgq