前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[1] tips

[1] tips

原创
作者头像
不学就是不会
修改2021-07-26 11:18:15
5920
修改2021-07-26 11:18:15
举报
文章被收录于专栏:大杂烩大杂烩

pipreq --》 requirement.txt

flask 闪现

before_requrst 多个 从上往下 process_request

after_request 多个 从下往上 process_response

before_first_request 项目启动访问的第一次

teardown_request 不管是否发生异常都会执行它下面的函数 after_request 不会执行 用作记录日志

errrorhandler 捕获错误并处理 提示或者返回其他页面 绑定错误的状态码

全局的标签和全局过滤器

flask 中间件 wsgi_app 和django的中间件完全不一样 flask 中间件就是猴子补丁的应用

app.run() -> app.__call__() --> self.wsgi_app()

自定义就是继承原来的的wsgi 调用的还是以前的,只不过在他上面或者下面写点东西

猴子补丁:只是一个概念,不属于任何包和模块

利用的 python 一切皆对象的理念 在程序运行过程中,动态修改方法

猴子补丁的用途:import u_json as json 会很多 就是修改项目里全部 from gevent import monkey

flask 蓝图 blueprint

没有蓝图之前都是单文件

有了蓝图之后都是 路由分发

from flask import Blueprint

order=Blueprint() 蓝图对象 蓝图对象注册路由

__init__.py 注册 注册蓝图对象 app.register_blueprint(蓝图对象) 先注册后使用

app 中 可以使用 before_request 等 请求扩展可以用,只是在当前管理下可以用

蓝图相当于dajngo 中的 app 分文件

app = Flask(__name__, template_folder='template', statics_floder='statics', )

模板文件 静态文件

app.register_blueprint(obj, url_prefix='/admin') 路由分发 路由前缀

伪静态 就是路由中加入 xxx.html

cbv 对象调 是方法 类来调是函数 function

uwsgi 开的多线程 和python 无关 也就和 GIL无关

管道 共享变量 queue 锁 线程之间共享资源

线程id号 {id号:{值}} 所以线程安全 threading.local 全局request不会乱

object __setattr__ local 内部保证数据不乱 只支持线程 不支持携程

携程 去去id号就是线程的

获取协程id号 线程的id号

request localstack local setattr getattr

try except storage[id号][v]=[k] setattr

getattr 根据id号去获取值

flask 请求生命周期

app.__call__() self.wsgi_app() ctx对象

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档