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

     

  • 相关阅读:
    go 基础(二)
    go 基础(一)
    小程序生成带有多参数的太阳码
    php 3.2 生成压缩文件,并下载
    layer confirm 三种选择按钮
    无限级分类,抓取某元素的所有下级id
    bootstrap 自带字体颜色
    ajaxSubmit 页面生成的html 中含有表单提交表单方式
    php 保留2位小数
    日期范围
  • 原文地址:https://www.cnblogs.com/ligiao/p/11460418.html
Copyright © 2011-2022 走看看