這期內容當中小編將會給大家?guī)碛嘘PCBV與FBV怎么在Django中使用,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
站在用戶的角度思考問題,與客戶深入溝通,找到木蘭網站設計與木蘭網站推廣的解決方案,憑借多年的經驗,讓設計與互聯(lián)網技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:做網站、成都做網站、企業(yè)官網、英文網站、手機端網站、網站推廣、域名申請、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋木蘭地區(qū)。一、 CBV
CBV是采用面向對象的方法寫視圖文件。
CBV的執(zhí)行流程:
瀏覽器向服務器端發(fā)送請求,服務器端的urls.py根據(jù)請求匹配url,找到要執(zhí)行的視圖類,執(zhí)行dispatch方法區(qū)分出是POST請求還是GET請求,執(zhí)行views.py對應類中的POST方法或GET方法。
使用實例:
urls.py
path('login/',views.Login.as_view())
views.py
from django import views #在views.py的基礎上添加 class Login(views.Views): def get(self,request) pass def pass(self,request) pass
使用裝飾器:
from django import views from django.utils.decorators import method_decorator def outer(func): def inner(request,*args,**kwargs): return func(request,*args,**kwargs) return inner class Login(views.View): @method_decorator(outer) def get(self,request,*args,**kwargs): pass
在類上面加裝飾器,和在函數(shù)上加裝飾器是一個性質。但加的方法有所不同。
eg:
@method_decorator(outer,name='dispatch') class Login(views.View):
自定義dispatch:
class Login(views.View): def dispatch(self, request, *args, **kwargs): print(2222) ret = super(Login, self).dispatch(request, *args, **kwargs) print(1111) return ret def get(self, request, *args, **kwargs): print('GET') return HttpResponse('OK')
執(zhí)行結果:2222
GET 1111
二、 FBV
FBV即在views.py中以函數(shù)的形式寫視圖。
看代碼:
urls.py
from django.conf.urls import url, include # from django.contrib import admin from mytest import views urlpatterns = [ # url(r‘^admin/‘, admin.site.urls), url(r‘^index/‘, views.index), ]
views.py
from django.shortcuts import render def index(req): if req.method == ‘POST‘: print(‘method is :‘ + req.method) elif req.method == ‘GET‘: print(‘method is :‘ + req.method) return render(req, ‘index.html‘)
注意此處定義的是函數(shù)【def index(req):】
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <form action="" method="post"> <input type="text" name="A" /> <input type="submit" name="b" value="提交" /> </form> </body> </html>
上述就是小編為大家分享的CBV與FBV怎么在Django中使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前標題:CBV與FBV怎么在Django中使用-創(chuàng)新互聯(lián)
文章鏈接:http://jinyejixie.com/article36/gpjsg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網站、網站策劃、網站內鏈、全網營銷推廣、企業(yè)建站、App設計
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容