Django - CBV与FBV

Posted wulafuer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django - CBV与FBV相关的知识,希望对你有一定的参考价值。

1、FBV

  Function Base View

  urls.py - >index对应函数名(函数在views.py中定义,并且封装了所有的用户请求信息)。

2、CBV

  Class Base View

  urls.py ->index对应类名

  views.py代码:
  

  from django.views import View
  class Home1(View):
   def get(self,request):
  print (request.method)
  return render(request, "login01.html")
  def post(self,request):
   print (request.method)
  #return render(request, "login01.html")
  return redirect("http://www.baidu.com/")

  urls.py代码:
    

    urlpatterns = [

   path(r‘login/‘,views.Home1.as_view())

    ]#固定用法

 http请求方法,除了post,get 还有:
 技术分享图片
cbv执行方法,是通过反射来执行,在父类View中,通过dispach方法去获取getattr来完成。


 

 



























以上是关于Django - CBV与FBV的主要内容,如果未能解决你的问题,请参考以下文章

Django视图层--FBV与CBV

Django视图层--FBV与CBV

Django视图函数之FBV与CBV模式

python(十九):django之FBV和CBV

Django中的CBV与FBV

Django中的CBV与FBV