學DRF以前

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

相關文章
相關標籤/搜索