Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 受权。html
pipreqs ./ --encoding=utf-8
生成的requirements.txt内容以下:python
blinker==1.4 Jinja2==2.10 Click==7.0 itsdangerous==1.1.0 Werkzeug==0.14.1 Flask==1.0.2 setuptools==39.0.1 pyOpenSSL==18.0.0 python-dotenv==0.10.0
官方文档: Blinker Documentationgit
Blinker的使用:http://python.jobbole.com/85554/web
Blinker 是一个基于Python的强大的信号库,它既支持简单的对象到对象通讯,也支持针对多个对象进行组播。Flask的信号机制就是基于它创建的。数据库
Blinker的内核虽然小巧,可是功能却很是强大,它支持如下特性:django
官方文档:http://jinja.pocoo.org/flask
参考连接:http://www.javashuo.com/article/p-soqjjlrr-p.html浏览器
jinja2是Flask做者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,因为其灵活,快速和安全等优势被普遍使用。安全
jinja2之因此被普遍使用是由于它具备如下优势:服务器
官方文档:https://click.palletsprojects.com/en/7.x/
参考连接:http://www.javashuo.com/article/p-qesekrmf-cn.html
click模块是Flask的做者开发的一个第三方模块,用于快速建立命令行。它的做用与Python标准库的argparse相同,可是,使用起来更简单。
官方文档:https://pythonhosted.org/itsdangerous/
参考连接:https://zhyannan.gitee.io/zyannan.blog/2017/09/25/2017-9-25-itsdangerous/#more
若是你想向不可信的环境发送数据,但又担忧数据被别人利用,就能够使用 itsdangerous
来加密签名你的数据。接收者能够破译内容,来看看你的包裹里有什么,但他们没办法修改你的内容,除非他们也有你的密钥。
itsdangerous内部默认使用了HMAC和SHA1来签名,基于 Django 签名模块。它也支持JSON Web 签名 (JWS)。这个库采用BSD协议,由Armin Ronacher编写,而大部分设计与实现的版权归Simon Willison和其余的把这个库变为现实的Django爱好者们。
官方文档:http://werkzeug.pocoo.org/
中文文档:https://werkzeug-docs-cn.readthedocs.io/zh_CN/latest/
参考连接:
Werkzeug是一个WSGI工具包,他能够做为一个Web框架的底层库。这里稍微说一下, werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它能够做为一个 Web 框架的底层库,由于它封装好了不少 Web 框架的东西,例如 Request,Response 等等。
定义url:/index/,访问该url返回hello。
from flask import Flask,Response app = Flask(__name__) @app.route("/index/") def index(): return Response("hello") if __name__ == "__main__": app.run()