1. Flask簡介
Flask 本身相當於一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login,數據庫Flask-SQLAlchemy),都需要用第三方的擴展來實現。比如可以用 Flask 擴展加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask 沒有默認使用的數據庫,你可以選擇 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模塊),模板引擎則使用 Jinja2。這兩個也是 Flask 框架的核心。
2. 框架對比
1) 框架輕重
重量級的框架:為方便業務程序的開發,提供了豐富的工具、組件,如Django
輕量級的框架:只提供Web框架的核心功能,自由、靈活、高度定制,如Flask、Tornado
2)與Django對比
django提供了:
django-admin快速創建項目工程目錄
manage.py 管理項目工程
orm模型(數據庫抽象層)
admin后台管理站點
緩存機制
文件存儲系統
用戶認證系統
而這些,flask都沒有,都需要擴展包來提供
3. 常用擴展包
擴展列表:http://flask.pocoo.org/extensions/
- Flask-SQLalchemy:操作數據庫;
- Flask-script:插入腳本;
- Flask-migrate:管理遷移數據庫;
- Flask-Session:Session存儲方式指定;
- Flask-WTF:表單;
- Flask-Mail:郵件;
- Flask-Bable:提供國際化和本地化支持,翻譯;
- Flask-Login:認證用戶狀態;
- Flask-OpenID:認證;
- Flask-RESTful:開發REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和時間;
- Flask-Admin:簡單而可擴展的管理接口的框架
四. 環境搭建
4.1 復習虛擬環境和pip命令
# 虛擬環境 mkvirtualenv # 創建虛擬環境 rmvirtualenv # 刪除虛擬環境 workon # 進入虛擬環境、查看所有虛擬環境 deactivate # 退出虛擬環境 # pip pip install # 安裝依賴包 pip uninstall # 卸載依賴包 pip list # 查看已安裝的依賴包 pip freeze # 凍結當前環境的依賴包
4.2 創建虛擬環境並在虛擬環境中安裝flask
mkdir myproject # 創建一個項目 cd myproject/ # 進入項目 virtualenv flask -p python3 # 創建名為flask的虛擬環境 source flask/bin/activate # 進入虛擬環境中 pip install flask # 在虛擬環境中安裝flask
五. 第一個flask程序
from flask import Flask @app.route('/') def index(): return 'Hello World!' if __name__ == '__main__': app.run()
啟動運行
-
手動運行
python helloworld.py
-
編譯器運行
像正常運行普通python程序一樣即可。