日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django(补充CBV,FBV)

發布時間:2024/6/30 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django(补充CBV,FBV) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們常用的都是FBV模式,就是url對應views.py中的函數

CBV模式:url------類

=====================

CBV實現過程:

瀏覽器通過url先執行Login類中的dispatch函數(分發器),dispatch會調用get/post方法
---------urls.py path('xxx',views.Login.as_view())---------views.py from django import views class Login(views.View): #繼承于views.View類def dispatch(self, request, *args, **kwargs): #這個函數(了解作用即可,可不寫)作用類似于裝飾器,參數*args, **kwargs代表可傳進去多個參數 #if request.method=="GET":
     # return HttpResponse("get方式") ret
=super(Login,self).dispatch(request,*args,**kwargs) #重寫dispatch方法,相當于執行get/post方法(關鍵看傳來的是那種請求方式,如果是get請求方式,就執行get方法)print(11111)return retdef get(self,request,*args,**kwargs): #函數名只能是get,一旦有get請求發來,就執行此函數print("gettttttttt")return render(request,"login.html")def post(self,req,*args,**kwargs): #函數名只能是post,一旦有post請求發來,就執行此函數 user=req.POST.get("username")pwd=req.POST.get("password")rep=redirect("/index")rep.set_cookie("username",user)rep.set_cookie("password",pwd)return rep

?

POST/GET請求方式不同:

瀏覽器默認的方式是get形式,也是說只要不規定post請求,瀏覽器都是以get方式請求。post請求只有通過form表單和ajax實現。

views.py
def login(req):
  return
render(req,"index.html",{"msg":""}) //第一次請求時,會返回一個空的字符串,因為是get請求

?

轉載于:https://www.cnblogs.com/gaoyukun/p/9064779.html

總結

以上是生活随笔為你收集整理的Django(补充CBV,FBV)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。