06 2022 档案
【汇总】Flask 源码分析系列
摘要:01. Flask源码分析之【werkzurg】 02. Flsak源码分析之【请求流程】 03. Flsak源码分析之【路由系统】 04. Flsak源码分析之【上下文】 持续更新中... 阅读全文
posted @ 2022-06-28 11:58 吃大飞 阅读(47) 评论(0) 推荐(0)
【汇总】DRF 源码分析系列
摘要:drf 源码分析之【视图】 drf 源码分析之【Serializer-序列化】 drf 源码分析之【Serializer-数据校验】 drf 源码分析之【版本/认证/权限/限流】敬请期待 持续更新中... 阅读全文
posted @ 2022-06-28 11:53 吃大飞 阅读(45) 评论(0) 推荐(0)
drf 源码分析之【Serializer-数据校验】
摘要:引入一个例子: models.py 点击查看 # models.py from django.db import models class Role(models.Model): """ 角色表 """ title = models.CharField(verbose_name="名称", max_ 阅读全文
posted @ 2022-06-25 20:36 吃大飞 阅读(105) 评论(0) 推荐(0)
drf 源码分析之【Serializer-序列化】
摘要:drf中为我们提供了Serializer,他主要有两大功能: 对数据库查询到的对象进行序列化 对请求数据校验(底层调用Django的Form和ModelForm) 1. 序列化 引入一个例子分析: # models.py from django.db import models class Role 阅读全文
posted @ 2022-06-24 23:45 吃大飞 阅读(137) 评论(0) 推荐(1)
drf 源码分析之【视图】
摘要:django restframework(简称drf)本质上其实就是一个别人编写好的app,里面集成了很多编写restful API的功能,而它的视图是基于django的CBV模式编写的,那么先回顾一下django的CBV 1. django的CBV视图 CBV,class base views,相 阅读全文
posted @ 2022-06-22 19:56 吃大飞 阅读(241) 评论(0) 推荐(0)
04. Flsak源码分析之【上下文】
摘要:4.1概述 查遍全网,发现其实也没有一个准确的定义什么是上下文。知乎上有一个通俗的回答: 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就 阅读全文
posted @ 2022-06-22 00:50 吃大飞 阅读(62) 评论(0) 推荐(0)
03.Flsak源码分析之【路由系统】
摘要:3.1 路由加载 路由的两种写法 # 装饰器写法 @app.route('/login') def login(): return 'hello world' # 源码解析后的写法: def login(): return 'hello world' app.add_url_rule('/login 阅读全文
posted @ 2022-06-21 00:41 吃大飞 阅读(79) 评论(0) 推荐(0)
02. Flsak源码分析之【请求流程】
摘要:上篇说到由app.run()启动,经__call__()方法,调用了wsgi_app,如下: def wsgi_app(self, environ: dict, start_response: t.Callable) -> t.Any: # 1.创建RequestContext对象 ctx = se 阅读全文
posted @ 2022-06-20 16:30 吃大飞 阅读(37) 评论(0) 推荐(0)
01. Flask源码分析之【werkzurg】
摘要:1.1 引子 我们知道所有的 python web 框架都要遵循 WSGI 协议,而Flask本身并没有,而是依赖werkzeug实现的 那么先抛开Flask不谈,通过一段简单的代码,看看werkzeug的作用 from werkzeug.serving import run_simple def 阅读全文
posted @ 2022-06-19 22:00 吃大飞 阅读(174) 评论(0) 推荐(0)