Django/Flask源码剖析
pythonweb框架Django、Flask源码剖析
易辰_
当你的能力撑不起你的野心的时候,你就静下心来努力学习
展开
-
Flask---flask_sqlalchemy源码分析
基本使用源码分析基本使用安装 pip3 install flask_sqlalchemy 我们在使用时候,会执行如下的代码db = SQLAlchemy()app = Flask(__name__)db.init_app(app)然后modelsfrom sqlalchemy.ext.declarative import declara...原创 2018-05-06 16:42:54 · 2588 阅读 · 0 评论 -
Flask---wtforms源码分析
我在Flask—wtforms使用博文中简单的学习了下wtforms的简单使用,这篇博客就专门来了解下wtforms的源码流程我们在使用Form时候,我们会构造如下的实例对象class LoginForm(Form): user = simple.StringField( validators=[ validators.DataRequ...原创 2018-05-05 10:59:35 · 766 阅读 · 0 评论 -
Flask---session源码分析
我在Flask—上下文源码分析这篇笔记中,简单分析了下Flask的上下文管理源码分析,今天我单拎出来session来,并且结合flask-session保存到redis进行分析,先抛出一张图 当我们在项目中构造app = Flask(__name__)实例时,在发起request请求时,会执行app的__call__方法 def __call__(self, environ, sta...原创 2018-05-02 15:40:19 · 733 阅读 · 0 评论 -
Flask---上下文源码分析
[toc] 我之前在Flask—werkzeug请求、响应源码分析中简单分析过werkzeug的请求、响应简单流程,这篇笔记就从Flask的角度,去分析下session的源码 首先我们先从一个用例入手用例from flask import Flask,sessionapp = Flask(__name__)app.secret_key = 'sadfasdfasdf'...原创 2018-04-25 19:57:18 · 661 阅读 · 0 评论 -
Flask---werkzeug请求、响应源码分析
示例源码分析Flask示例示例from werkzeug.wrappers import Request, Responsefrom werkzeug.serving import run_simple#方式一application1 = Response('Hello World application1!')#方式二def applic...原创 2018-04-23 18:34:42 · 3769 阅读 · 0 评论 -
django---django_redis源码分析
简单示例源码分析简单示例1、安装2、配置CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:6379", "OPTIONS": {原创 2018-04-20 22:25:57 · 4484 阅读 · 0 评论 -
django---django-cors-headers跨域源码分析
库配置示例展示源码分析库配置这篇笔记,是关于跨越的 django—CORS跨域今天我们来学习下一个开源库django-cors-headersgithub上有详细的配置文档说明1、Install from pip:pip install django-cors-headers2、and then add it to your insta...原创 2018-04-20 18:07:14 · 6657 阅读 · 2 评论 -
django---SimpleRateThrottle请求频率源码分析(rest-framework)
示例代码源码分析BaseThrottleSimpleRateThrottle自己方式实现我们在做服务器API接口时,肯定会考虑该接口访问控制,例如某IP请求频率限制、某注册用户限制、未注册用户限制(后面的2中用户限制,是在时间频率限制基础上完善的),这样会起到数据保护、服务器减压作用今天我们就来从源码的角度,看下django-rest-framework是如...原创 2018-04-11 19:44:24 · 1580 阅读 · 1 评论 -
django---APIView用户认证源码分析
在上篇博客笔记APIView用户认证小例子 我们通过一个简单的小例子了解了,在request请求api接口时候,是如何进行请求验证的,这篇博客就来分析源码,以下4篇笔记或多或少对APIView、View、mixins模块、GenericViewSet进行了分析 CBV源码分析 APIView源码分析 mixins模块及其GenericAPIView类源码分析 GenericViewS...原创 2018-04-10 22:48:37 · 1747 阅读 · 1 评论 -
django---ModelViewSet源码分析(rest-framework)
api请求实现方法ModelViewSet简单实用ViewSetMixin累源码分析APIView类分析GenericAPIView类分析api请求实现方法我们在请求api接口数据,可以通过以下方式来实现: 1、利用APIViewclass BookView(APIView): def get(self,request,*args,**k...原创 2018-04-10 19:03:28 · 5392 阅读 · 3 评论 -
django---mixins模块及其GenericAPIView类源码分析
简单使用GenericAPIView类ListModelMixin分析CreateModelMixin分析RetrieveModelMixin分析UpdateModelMixin分析DestroyModelMixin分析利用generics在简单分析mixins之前,我们先来简单看下如何使用?简单使用url配置如下:url(r"books/$"...原创 2018-04-09 19:45:46 · 5178 阅读 · 1 评论 -
django---APIView源码分析
在django—CBV源码分析中,我们是分析的from django.views import View下的执行流程,以下是代码from django.views import Viewclass IndexView(View): def get(self,request, *args, **kwargs): return HttpResponse("ok")...原创 2018-04-08 20:50:13 · 3012 阅读 · 0 评论 -
django---CBV源码分析
FBV和CBVCBV简单示例源码分析FBV和CBVFBV(function base views) 就是在视图里使用函数处理请求。 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述。CBV(class base views) 就是在视图里使用类处理请求。 Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点...原创 2018-04-08 19:09:00 · 1319 阅读 · 0 评论 -
django---forms模块源码解析(二)
我们在上篇文章 django—forms模块源码解析(一) ,简单了解了Form类的元类构造方式,以及BaseForm的逻辑封装,以及Field的数据校验,这篇博客,我们就来细致的分析下,校验的一步步流程,包含局部钩子、全局钩子等当我们使用继承forms.Form的类对象时候,我们通常会使用类似如下的代码块 if request.method == "POST": r...原创 2018-03-14 22:30:50 · 716 阅读 · 0 评论 -
django---forms模块源码解析(一)
用户表单是Web端的一项基本功能,大而全的Django框架中自然带有现成的基础form对象,Python的Django框架中forms表单类的使用方法详解Form表单的功能自动生成HTML表单元素检查表单数据的合法性如果验证错误,重新显示表单(数据不会重置)数据类型转换(字符类型的数据转换成相应的Python类型)Form相关的对象包括Widget:用来渲染成HTML元素的...原创 2018-03-13 22:03:34 · 909 阅读 · 0 评论 -
django---加载INSTALLED_APPS的源码分析
运行django项目,我们除了可以通过django图形界面启动,我们也可以通过命令行方式启动,启动方式如下:python manage.py runserver当我们创建django项目时候,会生成如下目录mysite/├── manage.py # 管理文件└── mysite # 项目目录 ├── __init__.py ├── settings.p...原创 2018-03-12 16:49:55 · 11685 阅读 · 6 评论 -
django---SessionMiddleware源码解析(二)
在上篇博客中 django—SessionMiddleware源码解析(一) ,我们简单了解了下django框架中的中间件SessionMiddleware的执行流程,这篇博客,就来对了解下db模块如何对session进行数据库持久化,以及如何加载session操作的我们知道在SessionMiddleware中process_response方法下,下面一行代码才是对session进行数据库...原创 2018-03-07 18:13:08 · 1246 阅读 · 1 评论 -
django---SessionMiddleware源码解析(一)
django—SessionMiddleware源码解析(二)是分析django session的数据库持久化,以及缓存数据加载此篇博客是分析django SessionMiddleware源码执行流程 SessionMiddleware是django框架的一个中间件,关于中间件的自定义创建、执行流程,这篇博客不去说明讲解,我们只是来了解下SessionMiddleware的源码当我们创...原创 2018-03-06 21:26:42 · 3572 阅读 · 1 评论 -
django---admin模块源码解析
django有一套强大的admin后台数据库管理工具,通过url(r'^admin/', admin.site.urls)完成对已注册model的增删改成,注册方法是admin.site.register(Publish)我们创建一个app,然后创建一个model对象,然后迁移数据库class Publish(models.Model): title = models.Char...原创 2018-03-12 21:34:25 · 3197 阅读 · 1 评论