Django admin组件源码流程】的更多相关文章

admin 组件 Django 自带的用户后台组件 用于用户便携的操作 admin 组件核心 启动 注册 设计url 启动核心代码 每个app 通过 apps.py 扫描 admin.py 文件 并执行 """ setting.py setting.py 中会对注册的 app 自动加载各自里面的 AppxxConfig 模块 """ INSTALLED_APPS = [ ... 'app01.apps.App01Config', 'app02.a…
rest_framework解析器组件源码流程 解析器顾名思义就是对请求体进行解析.为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数据格式就需要用到解析器(也可以将请求体拿到,然后利用其他模块进行解析). rest_framework解析器就是对你请求体中的数据进行反序列化.封装 把你的所有的请求数据都封装在request.data中 以后就在request.data中获取数据 源码分析 在…
一.请求到来后,都要先执行dispatch方法 dispatch根据请求方式的不同触发get/post/put/delete等方法 注意,APIView中的dispatch方法有很多的功能 def dispatch(self, request, *args, **kwargs): """ `.dispatch()` is pretty much the same as Django's regular dispatch, but with extra hooks for st…
一.admin的源码流程 首先可以确定的是:路由关系一定对应一个视图函数 a.当点击运行的时候,会先找到每一个app中的admin.py文件,并执行 b.执行urls.py admin.site是什么? admin.site,urls    返回的是一个元组,里面的第一个元素是一个列表 django-admin的源码流程 我们自己生成的动态的访问url ====================================初级版========================= from dj…
在详细说django-rest-framework源码流程之前,先要知道什么是RESTFUL.REST API . RESTFUL是所有Web应用都应该遵守的架构设计指导原则. REST是Representational State Transfer的简称,中文翻译为“表征状态转移”. - 表征状态转移 - 面向资源编程,对互联网上的任意东西都视为资源. REST API 其中API是一种接口,有两个用途:1)为别人提供服务 2)前后端分离 restful api书写规范(面试会问) url(能…
我在前面的博客里已经讲过了,我们一般编写API的时候用的方式 class CoursesView(ViewSetMixin,APIView): pass 这种方式的有点是,灵活性比较大,可以根据自己的业务逻辑来自定义各种组件逻辑. 这边文章,我将带大家对 认证组件做一个源码分析,写这边文章的原因也是因为自己虽然知道怎么写,但是不知道为什么要这么写,今天看了源码,所以想把自己的一些心得写出来和大家分享. 先看代码 class ShoppingCarView(ViewSetMixin, APIVie…
一.序列化类的增.删.改.查 用drf的序列化组件   -定义一个类继承class BookSerializer(serializers.Serializer):   -写字段,如果不指定source,字段名必须跟数据库字段名对应(source指定的值跟字段名不能重复)   -source还可以指定方法   -publish=serializers.SerializerMethodField()   def get_publish(self,obj):    obj.publish    #ob…
流程 Django session源码流程 首先执行的是SessionMiddleware的init方法 import_module(settings.SESSION_ENGINE) 导入了一个 django.contrib.sessions.backends.db的包 将db中SessionStore 赋值给self.SessionStore 执行process_request 方法 获取存放于cookie中的session_id,赋值为session_key 实例化session仓库sess…
在上一篇文章中我们已经分析了认证组件源码,我们再来看看权限组件的源码,权限组件相对容易,因为只需要返回True 和False即可 代码 class ShoppingCarView(ViewSetMixin, APIView): permission_classes = [MyPermission, ] def list(self,request, *args, **kwargs): """ 查看购物车信息 :param args: :param kwargs: :return…
restframework 源码分析以及使用 mixins 中的五种类方法 from rest_framework import mixins # mixins 中一种有五种类 # 第一种:用户保存数据 class CreateModelMixin(object): """ Create a model instance. """ def create(self, request, *args, **kwargs): # 序列化的类的对象 ser…