1.Django 主要特色是大而全,集成了不少组件,例如: Models Admin Form 等等, 无论你用获得用不到,反正它全都有,属于全能型框架html
2.Tornado 主要特色是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优点,属于专一型框架json
3.Flask 主要特色小而轻,原生组件几乎为0, 三方提供的组件请参考Django 很是全面,属于短小精悍型框架flask
Django 一般用于大型Web应用因为内置组件足够强大因此使用Django开发能够一鼓作气后端
Tornado 一般用于API后端应用,游戏服务后台,其内部实现的异步非阻塞真是稳得一批浏览器
Flask 一般应用于小型应用和快速构建应用,其强大的三方库,足以支撑一个大型的Web应用app
Django 优势是大而全,缺点是会形成一部分的资源浪费框架
Tornado 优势是异步,缺点是干净,Session都不支持异步
Flask 优势是精悍简单,缺点是先天不足,第三方组件稳定性较差ide
Terminal:函数
pip install Flask
三行代码启动 Flask 项目
实现了Flask 的第一个HelloWorld程序
代码解读:
1.Flask中的HTTPResponse
直接返回字符串
2.Flask 中的 render (render_template)
在pycharm中,当没有导入模块提示错误时,按住Alt键加Enter 点击导入
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return "hello World I am Flask" @app.route('/index') def index(): return render_template('index.html') app.run()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> 这是index页面 </body> </html>
3 Flask中的Redirect
以上是Web框架的 Response 三剑客
视图函数还能够返回:
send_file() 返回文件内容,自动识别文件类型,Content-type中添加文件类型,Content-type:文件类型
** 浏览器特性 可识别的Content-type 自动渲染 不可识别的Content-type 会自动下载
jsonify() str # 返回标准格式的JSON字符串 先序列化JSON的字典,Content-type中加入 Application/json3
** Flask 1.1.1 版本中 能够直接返回字典格式,无需jsonify