在學習DRF之前~我們要先復習一些知識點~~
FBV和CBV
學習Django的時候~我們已經學習過了CBV以及FBV~~我們來復習一下~~
什么是FBV和CBV呢~~
FBV 基於函數的視圖
CBV 基於類的視圖
也就是說我們是用函數編寫視圖~還是類編寫視圖~~我們來看下兩個的簡單實現~~
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()方法,那我們看下我們這個方法里做了什么~
我們可以看出~CBV在內部做了一個分發~本質和FBV是一樣的~~
以后做接口開發的時候,我們就要用CBV,我們之前學了restful規范,現在就很容易理解我們為什么用CBV了。
面向資源編程,並且用HTTP的請求方式來對資源進行操作,還要遵循這些方法的語義,所以我們選擇CBV編寫我們接下來的視圖函數。