FBV和CBV
Django中~咱們知道有CBV以及FBV編程
什麼是FBV和CBV呢~~restful
FBV 基於函數的視圖函數
CBV 基於類的視圖post
也就是說咱們是用函數編寫視圖~仍是類編寫視圖~~咱們來看下兩個的簡單實現~~url
urlpatterns = [ path('admin/', admin.site.urls), path('test_fbv', test_fbv), path('test_cbv', TestCBV.as_view()) ]
def test_fbv(request): return HttpResponse("ok")
class TestCBV(View): def get(self, request): return HttpResponse("ok")
咱們能夠看到,咱們的CBV首先執行了as_view()方法,那咱們看下咱們這個方法裏作了什麼~spa
咱們能夠看出~CBV在內部作了一個分發~本質和FBV是同樣的~~rest
之後作接口開發的時候,咱們就要用CBV,咱們以前學了restful規範,如今就很容易理解咱們爲何用CBV了。code
面向資源編程,而且用HTTP的請求方式來對資源進行操做,還要遵循這些方法的語義,因此咱們選擇CBV編寫咱們接下來的視圖函數。blog