佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 詳解Django中的FBV和CBV對(duì)比分析

詳解Django中的FBV和CBV對(duì)比分析

熱門標(biāo)簽:企業(yè)做大做強(qiáng) Win7旗艦版 硅谷的囚徒呼叫中心 百度AI接口 呼叫中心市場(chǎng)需求 客戶服務(wù) 語(yǔ)音系統(tǒng) 電話運(yùn)營(yíng)中心

在學(xué)習(xí)Django過程中在views.py進(jìn)行邏輯處理時(shí)接觸到了兩種視圖的書寫風(fēng)格,F(xiàn)BV和CBV

FBV 指 function based views,即基于函數(shù)的視圖

CBV 指 class based views,即基于類的視圖

基于類的視圖相較于基于函數(shù)的視圖可以更加便利的實(shí)現(xiàn)類的繼承封裝等。在日常使用的時(shí)候,二者的區(qū)別主要在于對(duì)于request的請(qǐng)求方法的處理方式

FBV

我們通過函數(shù)傳入的request的method來判斷客戶端發(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中,我們使用下面的格式來書寫路徑

path('test/', views.fbv),

CBV

我們?cè)陬愔卸x相應(yīng)請(qǐng)求的方法,并在方法中實(shí)現(xiàn)相應(yīng)的邏輯處理并返回相應(yīng)的數(shù)據(jù),這種基于類的視圖很適用于restful風(fēng)格的書寫。

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中,我們使用下面的格式來書寫路徑

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)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django中的FBV和CBV用法詳解
  • Django CBV與FBV原理及實(shí)例詳解
  • Django中的CBV和FBV示例介紹

標(biāo)簽:長(zhǎng)沙 濟(jì)南 喀什 崇左 安康 山西 海南 山西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Django中的FBV和CBV對(duì)比分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    汉川市| 林西县| 苍梧县| 三原县| 湖南省| 隆回县| 敖汉旗| 吴旗县| 新兴县| 嘉善县| 太原市| 涡阳县| 那坡县| 晋州市| 定州市| 老河口市| 萝北县| 颍上县| 苗栗县| 凤阳县| 恩平市| 吐鲁番市| 家居| 本溪市| 治县。| 分宜县| 涡阳县| 建宁县| 苍南县| 赣州市| 平定县| 秦安县| 凌云县| 博罗县| 白山市| 铜梁县| 岳阳县| 绥芬河市| 花垣县| 六枝特区| 启东市|