pip3 install flask
# 引入flask from flask import Flask # 實例化flask app = Flask(__name__) # 啓動應用 app.run()
經過上面的代碼便可啓動一個flask
應用,試試在瀏覽器地址欄輸入http://127.0.0.1:5000
,由於沒有配置視圖頁面,因此你看到的404
頁面,這個時候咱們的應用已經運行起來了。html
Flask
中是經過裝飾器實現路由的。web
from flask import Flask app = Flask(__name__) # 配置路由 @app.route("/") # 定義路由執行的方法 def index(): return "<h1>Flask</h1>" app.run()
Flask
的方法默認不會加載,咱們要手動加載須要的方法Flask
提供了render_template
方法用來渲染咱們的視圖模版頁面。Flask
默認的模版文件存放位置爲templates
,咱們先在根目錄建立templates
文件夾,並在裏面建立login.html
文件,進行以下編輯。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>我是登陸頁面</h1> </body> </html>
下面咱們經過路由來進行這個頁面的渲染shell
from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/login") def login(): return render_template("login.html") app.run()
使用redirect
方法實現頁面視圖的重定向數據庫
from flask import Flask, render_template, redirect app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/login") def login(): return render_template("login.html") # 這裏是個重定向 @app.route("/redirect") def rr(): return redirect('/login') app.run()
返回一個序列化後的json
格式數據,至關於對請求頭設置Content-Type: application/json
json
from flask import Flask, jsonify app = Flask(__name__) @app.route("/jsonify") def jsify(): return jsonify({"name": "JWB", "age": 23}) app.run()
上面代碼運行結果以下:flask
{ "age": 23, "name": "JWB" }
send_file()
函數用來,打開併發送文件,能夠發送文本、圖片、小視頻等api
from flask import Flask, send_file app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/file") def file(): return send_file("1.jpg") app.run()
在瀏覽器裏面訪問路由,會直接打開圖片文件。瀏覽器
在run()
函數中添加如下方法,能夠對啓動項進行配置安全
ps: 開啓debug後,Flask服務會在文件修改事後,自動重啓babel
# 引入flask from flask import Flask # 實例化flask app = Flask(__name__) # 啓動應用 app.run(host="0.0.0.0", port=9527, debug=True)
爲Flask提供強大的命令行操做,與Django
shell相似。
Flask user session
管理,提供諸如login_user
, logout_user
, login_required
, current_user
等功能,也是其餘不少Flask庫的基礎。
爲Flask應用提供操做簡單且易於擴展的數據庫管理界面,與Django
自帶的數據庫管理app相似。
Flask與WTForms
的集成,提供強大的Form
安全和校驗機制,與Django
內置的Form
功能相似。
Flask
強大的權限管理機制,靈活性強,提供了一個權限管理的基礎框架,是不少Flask權限相關擴展的基礎。
一個強大的Flask RESTful
框架,簡單好用。
至關於Django REST Framework
的Flask版,是另外一個強大的Flask RESTful
框架。
Flask-Mail
爲Flask應用添加了SMTP
郵件發送功能
Flask-User
集成了用戶管理相關功能,並容許對功能作定製性修改,其相關功能包括Register
, Confirm email
, Login
, Change username
, Change password
, Forgot password
等。
Flask-User
基於Flask-SQLAlchemy
,NoSQL
數據庫沒法使用。
Flask-Security
讓開發者可以很快的爲應用添加經常使用的安全機制,其整合了Flask-Login
, Flask-Mail
, Flask-Principal
, Flask-Script
等應用。其安全機制包括:
Flask國際化和本地化擴展,基於Babel
爲Flask應用添加語言包,與flask-babel
相似。