原创

[1] tips

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对象

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python Tips(1) 数字与字符串之间转换,采用内置函数

    glm233
  • Spark Tips 1: RDD的collect action 不适用于单个element size过大的情况

    collect是Spark RDD一个非常易用的action,通过collect可以轻易获得一个RDD当中所有的elements。当这些elements是Str...

    叶锦鲤
  • Linux Tips

    用户1456517
  • MurmurHash Tips

    MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。与其它流行的哈希函数相比,对于规律性较强的 key,MurmurHash 的随机分布特征...

    py3study
  • SQL Tips

    出自:http://blog.csdn.net/etmonitor/一.怎样删除一个表中某个字...

    Java架构师必看
  • Git Tips

    Git 推送和删除远程标签 推送:git push origin 标签名 删除:git push origin :refs/tags/标签名 推送所有标...

    用户3765803
  • Elasticserach Tips

    PS:感叹elasticsearch在搜索和大数据聚合上面做的了不起的工作! 细致入微,基本上在工程层面解决了数不清的细节问题,了不起的产品设计和再创造,了不起...

    happy123.me
  • Python tips

    0、Python Enhancement Proposal。(PEP,Python增强建议书)

    py3study
  • cmake Tips

    结合最近cmake的运用,对cmake的使用做简要总结。主要是关键词,编译思路的理解。

    yzh
  • Redis Hacking Tips

    风流
  • MySQL Tips【Updating】

    1、MySQL中varchar最大长度问题 ? 问题:为啥大字段可以建,小字段却失败?  单个varchar(20000)用utf8没有超过64K,不会转成...

    用户1177713
  • Tips for thrift

    Introduction I have designed and developed game servers successfully with thrift...

    知然
  • Daily Tips(Updated)

    [No.007] 解决Ubuntu16.04 字体太细发虚(表现在Chrome中浏览中文) 这个问题产生是由于Ubuntu 16.04 LTS 的默认中日韩...

    GitOPEN
  • Redis Hacking Tips

    ​ You must know the physical path of the Web site

    风流
  • android-tips(ScaleType)

    android tips主要讲解平时在开发中的一些常用有比较容易让人忽略的问题或者是个人建议。知识比较杂,但是好多人可能看到过,但没有仔细想,研究..........

    android_薛之涛
  • SSL&TLS Tips

    话说刚才生成一个私钥的时候, Python3绑定libssl1.1 又崩了;正在痛苦思考中~~~

    happy123.me
  • Python3 logging tips

    py3study
  • 免杀tips

    最近断更了,是什么让我们饱经风霜,无奈断更,是xx,师傅们都去各地就位了,文章也就少了起来,今天分享个小技巧。

    鸿鹄实验室
  • 记一次攻防演练tips | 攻防tips

    关于信息收集,已经有方法论类的东西总结的很好了,我只说我喜欢的,以百度代替真实站点

    意大利的猫

扫码关注云+社区

领取腾讯云代金券