zoukankan      html  css  js  c++  java
  • Python CBV和FBV

    '''
    说一下CBV(class+base+views)和FBV(function+base+views),我们之前Django 里写的都是FBV,今天看一下
    CBV,也就是在我们的视图函数里写类
    '''
    CBV 总结:
    1、
    from django.views import View
    class CBVTest(View): #这里我们的class 得继承View,这里我么看一下View的源码,支持的http方法为http_method_names = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options', 'trace']
        def dispatch(self, request, *args, **kwargs): # 这里我们可以重写父类的分发方法
            print('111')
            obj=super().dispatch(request,*args,**kwargs)
            return obj
    		
        def get(self,request): # 这里所有的get请求都会走到这里,这里我们在urlpattern里views.CBVTest.as_view(),我们看一下as_view的源码知道,他会返回一个view,这个到时候要是get请求,那么这里就会调用views.CBVTest.get函数
            print(request.method)
            return render(request,'test.html')
        def post(self,request):
            name=request.POST.get('name')
            pwd=request.POST.get('pwd')
            if name=='bigbao' and pwd=='123':
                return HttpResponse('登录成功')
            else:
                return render(request,'test.html')
    2、修改urls.py
    	path('test/',views.CBVTest.as_view())
    	
    其实上面的和FBV是一样的,我们可以通过requst.method=='GET'来判断然后操作是一样的
    

      

  • 相关阅读:
    jQuery语音播放插件
    Oracle(+)号用法
    重写IHttpHandler,实现前后端分离
    JavaScript运算符
    SQL Server 备份和还原
    ReactJS入门
    用Owin Host实现脱离IIS跑Web API单元测试
    Lua
    代码评比结果的反思
    我为什么要在总理来的第二天离开创业大街(转)
  • 原文地址:https://www.cnblogs.com/smail-bao/p/9646736.html
Copyright © 2011-2022 走看看