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