cbv 顧名知義就是通過類的方法來調用,我們在url中配置為如下路徑
這裡的Cbv是一個class 類,要想使用cbv方法,這個路徑後面還得必須有一個as_view()這個是必須的固定格式
在views裡面配置類,需要導入一個子產品

login的頁面配置代碼
點選送出
這裡通過檢視View的源碼,可以看到裡面會有很多種送出方法 <code>http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']</code> 使用ajax的時候這些方法都是可以使用的。
另外繼承類不光有View,還有很多的,檢視源碼就可以看到的
我的django版本号是 C:\Users\Tony>python3 -m django --version 1.9.13
這種更具url來比對方法的是通過反射方法(getattr)來做的。請求過來後先走dispatch這個方法,這個方法存在View類中。
如果需要批量對方法,例如get,post等方法做一些操作的時候,這裡我們可以手動寫一個dispatch,這個dispatch就和裝飾器的效果一樣。因為請求來的時候總是先走的dispatch。
這次我們在通過浏覽器通路的時候,發現不管get或者post方法,都會走print代碼,
本文轉自 kesungang 51CTO部落格,原文連結:http://blog.51cto.com/sgk2011/2061658,如需轉載請自行聯系原作者