詳解Django中的FBV和CBV對(duì)比分析
在學(xué)習(xí)Django過(guò)程中在views.py進(jìn)行邏輯處理時(shí)接觸到了兩種視圖的書(shū)寫(xiě)風(fēng)格,F(xiàn)BV和CBV
FBV 指 function based views,即基于函數(shù)的視圖
CBV 指 class based views,即基于類(lèi)的視圖
基于類(lèi)的視圖相較于基于函數(shù)的視圖可以更加便利的實(shí)現(xiàn)類(lèi)的繼承封裝等。在日常使用的時(shí)候,二者的區(qū)別主要在于對(duì)于request的請(qǐng)求方法的處理方式
FBV
我們通過(guò)函數(shù)傳入的request的method來(lái)判斷客戶端發(fā)起的是什么請(qǐng)求,并進(jìn)行相應(yīng)的操作,返回相應(yīng)的數(shù)據(jù)。
def fbv(request):
if request.method == 'GET':
return HttpResponse("GET")
elif request.method == 'POST':
return HttpResponse("POST")
else:
return HttpResponse("OTHER")
在urls.py中,我們使用下面的格式來(lái)書(shū)寫(xiě)路徑
path('test/', views.fbv),
CBV
我們?cè)陬?lèi)中定義相應(yīng)請(qǐng)求的方法,并在方法中實(shí)現(xiàn)相應(yīng)的邏輯處理并返回相應(yīng)的數(shù)據(jù),這種基于類(lèi)的視圖很適用于restful風(fēng)格的書(shū)寫(xiě)。
class CBV(View):
@csrf_exempt
def get(self):
return HttpResponse("GET")
@csrf_exempt
def post(self):
return HttpResponse("POST")
@csrf_exempt
def put(self):
return HttpResponse("PUT")
在urls.py中,我們使用下面的格式來(lái)書(shū)寫(xiě)路徑
path('test/', views.cbv.as_view()),
到此這篇關(guān)于 詳解Django中的FBV和CBV對(duì)比分析的文章就介紹到這了,更多相關(guān)Django FBV和CBV對(duì)比 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?Type?Hints?學(xué)習(xí)之從入門(mén)到實(shí)踐
Type?Hints(類(lèi)型注解)進(jìn)一步強(qiáng)化了Python是一門(mén)強(qiáng)類(lèi)型語(yǔ)言的特性,它在?Python3.5?中第一次被引入。使用Type?Hints可以讓我們編寫(xiě)出帶有類(lèi)型的Python代碼,本文將詳細(xì)介紹一下Type?Hints,感興趣的小伙伴可以關(guān)注一下2021-11-11
刪除pandas中產(chǎn)生Unnamed:0列的操作
這篇文章主要介紹了刪除pandas中產(chǎn)生Unnamed:0列的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
python 使用while循環(huán)輸出*組成的菱形實(shí)例
這篇文章主要介紹了python 使用while循環(huán)輸出*組成的菱形實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
Python面向?qū)ο髮?shí)現(xiàn)方法總結(jié)
這篇文章主要介紹了Python面向?qū)ο髮?shí)現(xiàn)方法總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
python中常用的數(shù)據(jù)結(jié)構(gòu)介紹
這篇文章主要介紹了python中常用的數(shù)據(jù)結(jié)構(gòu)介紹,幫助大家更好的理解和學(xué)習(xí)python的基礎(chǔ)知識(shí),感興趣的朋友可以了解下2021-01-01

