zoukankan      html  css  js  c++  java
  • CBV

    开发模式

    普通开发模式,前后端一起写,数据通过后端出来由render渲染给模板

    前后端分离

    后端开发:

    为前端提供url,api的开发,接口的开发

    永远返回HttpResponse

    from django.shortcuts import HttpResponse
    import json
    
    
    def get_list(request):
        list = [1, 2, 3, 4, 5, 6]
        return HttpResponse(json.dumps(list))
    

     

     通过访问url能够得到json数据,这就是一个简单的接口

    django FBV和CBV

    CBV就是基于类的视图,一个简单的基于类的视图

    url设置

    path("apitest",views.ApiTest.as_view()),  # 基于类的视图对应url跟as_view

    视图设置

    from django.views import View
    class ApiTest(View): # 必须继承django中的View类
        def get(self, request, *args, **kwargs):  # 用于处理get请求
            return HttpResponse("get")
    
        def post(self, request, *args, **kwargs):
            return HttpResponse("post")
    
        def put(self, request, *args, **kwargs):
            return HttpResponse("put")
    
        def delete(self, request, *args, **kwargs):
            return HttpResponse("delete")

    CBV实现原理

    url——>类中的view方法——>dispatch方法(反射执行其他方法GET/POST/DELETE/PUT)

    基于类的视图,首先看url,django每个url后边必定对应的是一个函数来处理请求,由此可以看出

    path("apitest",views.ApiTest.as_view())

    返回的是一个函数,我们点开父类View里边查看as_view方法

     

     我们再看view执行的哪些操作

     

  • 相关阅读:
    HTTP协议:POST请求
    HTTP协议:GET请求
    HTTP协议
    理解server.xml
    用session实现简单的购物
    session:的工作原理
    session:的生命周期
    session:例子代码(一个session为一个会话而服务)
    session概述&作用
    时间复杂度和空间复杂度
  • 原文地址:https://www.cnblogs.com/ligiao/p/11460418.html
Copyright © 2011-2022 走看看