框架介绍
Flask 是一个基于 Python 开发并且依赖 jinja2 模板和 Werkzeug WSGI 服务的一个微型框架,
对于 Werkzeug 本质是 Socket 服务端, 其用于接收 http 请求并对请求进行预处理, 然后触发 Flask 框架, 开发人员基于 Flask 框架提供的功能对请求进行相应的处理, 并返回给用户, 如果要返回给用户复杂的内容时, 需要借助 jinja2 模板来实现对模板的处理,
即: 将模板和数据进行渲染, 将渲染后的字符串返回给用户浏览器.
"微"(micro) 并不表示你需要把整个 web 应用塞进单个 Python 文件 (虽然确实可以 ), 也不意味着 Flask 在功能上有所欠缺.
微框架中的 "微" 意味着 Flask 旨在保持核心简单而易于扩展.
Flask 不会替你做出太多决策 -- 比如使用何种数据库.
而那些 Flask 所选择的 -- 比如使用何种模板引擎 -- 则很容易替换. 除此之外的一切都由可由你掌握.
默认情况下, Flask 不包含数据库抽象层, 表单验证, 或是其它任何已有多种库可以胜任的功能.
然而, Flask 支持用扩展来给应用添加这些功能, 如同是 Flask 本身实现的一样. 众多的扩展提供了数据库集成, 表单验证, 上传处理, 各种各样的开放认证技术等功能.
简单来说:
小
扩展性极强
Flask 和 Django 的区别
Django
无 socke, 依赖第三方模块 wsgi
路由系统 (CBV,FBV)
中间件, 视图函数,
自带: ORM,cookie,session,Admin,Form, 缓存, 信号, 序列化
内容比较丰富 大型项目推荐用
Flask
无 socket, 依赖第三方模块 werkzeug
中间件 (扩展),
路由系统, 视图 (CBV),
第三方模块 (依赖 jinja2)
更加精练 直接导入就可以使用 但是扩展性很强 小型的轻量级的项目推荐用
最大的不同
request
django 通过参数传递
flask 通过模块导入
session
django 依附在 request 里面
flask 通过模块导入
最基础的实现
- from flask import Flask
- App = Flask(__name__)
- def index():
- return "index"
- if -__name__ == "__main__":
- App.run()
来源: http://www.bubuko.com/infodetail-2946472.html