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执行的哪些操作

     

  • 相关阅读:
    Task 5.1 电梯调度程序需求调研报告
    Task 4 求数组的连续子数组的最大和(团队合作)
    class 3 求数组中的最大值(单元测试)
    《你的灯亮着吗》读书笔记3
    优惠购书
    校友聊NABCD
    环状二维数组(改进版)
    环状二维数组
    环状一维数组
    二维数组最大值
  • 原文地址:https://www.cnblogs.com/ligiao/p/11460418.html
Copyright © 2011-2022 走看看