CBV 执行流程 路由配置:url(r'^test/',views.Test.as_view()),  --> 根据路由匹配,一旦成功,会执行后面函数(request) --> 本质就是执行了as_view内部的view函数 --> 内部又调用了self.dispatch --> 根据请方式,执行不同的方法(必然get请求,就会执行视图类的get方法) 自己分装一个类 重写dispatch方法,在执行父类的dispatch之前,写一些逻辑,请求来了,就会执行这些逻辑 from dj…
一.APIView源码分析 1.安装djangorestframework 2.使用 drf是基于cbv view的封装,所以必须写cbv ①第一步:写视图,必须写cbv 路由配置: from rest_framework.views import APIView from django.http import JsonResponse class Books(APIView): def get(self, request): # request是被封装后的request,原生的request在…
一:cbv的源码分析 1.CBV和FBV的区别: - Class Base View   CBV(基于类的视图) - Function Base View   FBV(基于函数的视图) 2.as_view与view的区别: - def as_view: 类的方法 - def view:类方法内部,闭包函数定义:内层函数包含对外部作用域的引用 -def view(request,*args,**kwargs): self = cls(**initkwargs) if hasattr(self,'g…
Django框架之drf 目录 Django框架之drf 一.反序列化类校验部分源码解析 二.断言 三.drf之请求 1.Request能够解析的前端传入编码格式 2.Request类中的属性和方法 四.drf之响应 1.Response能够响应的编码格式 2.Response的源码属性或方法 五.视图组件介绍及两个视图基类 1.APIView与View区别 2.视图基类 六.基于APIView+ModelSerializer+Resposne写5个接口 1.视图类 2.序列化类 3.路由 4.…
目录 Flask框架 一.CBV分析 1.CBV编写视图类方法 二.CBV源码分析 1.CBV源码问题 2.补充问题 3.总结 三.模板 1.py文件 2.html页面 四.请求与响应 1.request常用方法 2.response常用方法 五.session及源码分析 1.session的基本使用 2.session源码分析 六.闪现 七.请求扩展 Flask框架 一.CBV分析 1.CBV编写视图类方法 # 1.导入flask模块 from flask import Flask, requ…
FBV和CBV源码分析 FBV直接调用user方法执行业务代码 CBV相当于在FBV上面封装了一层 from django.contrib import admin from django.urls import path from app01 import views urlpatterns = [ path('users/', views.UserView.as_view()), ] from django.views import View class UserView(View): de…
1.格式与命名规范1.1 缩进 使用Tab缩进,而不是空格键1.2 换行 每行120字符 if,for,while语句只有单句时,如果该句可能引起阅读混淆,需要用" {"和"}"括起来,否则可以省略. //错误,需要使用花括号{}括起来 if (condition) if(condition) doSomething(); else doSomething(); 1.3 命名规则 不允许使用汉语拼音命名 遇到缩写如XML时,仅首字母大写,即loadXmlDocume…
1.什么是JAVA EE JAVA EE是由一系列规范组成的,规范是由JCP制定的,并且提供了参考实现.规范(Specification)是一系列接口,不包含具体实现 有以下常见的JAVA EE实现,包括JBOSS.GLASSFISH等.而tomcat是一个servlet容器,实现了servlet规范.jsp规范.但是它并没有实现EJB.JMS.JPA等规范,所以tomcat不是一个完整的JAVA EE实现 在oracle网站上,下载JAVA EE SDK时,会同时下载GLASSFISH,也就是…
零:核心思想: 1.面对资源编程 2.根据HTTP请求方式的不同对资源进行不同的操作 一.协议 API与用户的通信协议,总是使用HTTPs协议. 二.域名 应该尽量将API部署在专用域名之下. https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下. https://example.org/api/ 三.版本(Versioning) 应该将API的版本号放入URL. https://api.example.com/v1/ 另一种做法是,将版本…
非常好 DRF执行流程源码解析 https://www.cnblogs.com/suguangti/p/11120793.html https://www.cnblogs.com/haitaoli/p/10293367.html 关于Rest Framework中View.APIView与GenericAPIView的对比分析 https://blog.csdn.net/odyssues_lee/article/details/80895207…