zoukankan      html  css  js  c++  java
  • CBV-2-CBV流程-view源码解析-面向对象-继承

    CBV-2-CBV流程-view源码解析-面向对象-继承

     

    CBV,基于反射实现根据请求方式不同,执行不同的方法。

    请求流程:view源码解析

    1.urls.py :请求一定来执行视图下的as_view方法。

    2.views.py 视图内没有as_view方法,则找父级的as_view方法。

     3.源码:as_view返回自己下面的view方法

    4.as_view执行了自己view方法,放回值是dispatch方法.

    5.dispatch方法判断请求方式。

     

    6.所以请求已经来,第一步先执行的都是dispatch方法。

    接下来我们自己也可以下dispatch方法,dispatch工作原理:

    运行结果:

     

    7.dispatch方法,父类都给我们写好了。

     

    2. django rest framework框架

    内容详细:
    0. FBV、CBV
      CBV,基于反射实现根据请求方式不同,执行不同的方法。
    原理:
      url -> view方法 -> dispatch方法(反射执行其他:GET/POST/DELETE/PUT)

     

     

    继承(多个类共用的功能,为了避免重复编写):

    1.假设在每一个视图中的get方法,执行前后后都要加上一段代码,你会怎么办?

    2.两个类都有同一个方法,让它们都继承一个基类。

     

     
  • 相关阅读:
    决策表快速排序
    书摘
    读书笔记
    echarts x y轴设置
    echarts图类型设置
    echarts入门
    jqgride实现多选
    jqgride实现每一行的单选
    Mac react环境搭建
    两列布局,三列布局
  • 原文地址:https://www.cnblogs.com/yimiflh/p/9281124.html
Copyright © 2011-2022 走看看