1.Flask項目基本設定
資料庫配置-Flask-SQLAlchemy擴充使用。
from flask_sqlalchemy import SQLAlchemy
class Config(object):
“”“項目配置類”""
# 資料庫相關配置
# 使用的資料庫連結位址
SQLALCHEMY_DATABASE_URI = ‘mysql://:@:host:port/’
# 關閉追蹤資料庫的修改
SQLALCHEMY_TRACK_MODIFICATIONS = False
#建立SQLAlchemy對象
db = SQLAlchemy(app)
session存儲的設定-Flask-Session擴充的使用。
from flask_session import Session
# session存儲的相關配置
# 設定session存儲到redis中
SESSION_TYPE = ‘redis’
# redis連結對象(給flask-session擴充使用的)
SESSION_REDIS = redis.StrictRedis(host=, port=)
# 開啟傳回給浏覽器cookie <code>session</code>值的加密
SESSION_USE_SIGNER = True
# 設定session過期時間
PERMANENT_SESSION_LIFETIME = 2436002
#建立Session對象
Sesssion(app)
為Flask項目開啟CSRF保護-Flask-WTF擴充中CSRFProtect類的使用。
flask項目沒有CSRF(跨站請求僞造)保護,需要使用CSRFProtect來開啟。
from flask_wtf.csrf import CSRFProtect
#為flask項目開啟CSRF保護,預設針對<code>POST</code>|<code>PUT</code>|<code>DELETE</code>|<code>PATCH</code>四種請求方式有保護驗證。
CSRFProtect(app)
注: CSRFProtect隻幫助我們做CSRF驗證工作。
需要我們自己實作以下3步:
自己調用generate_csrf生成随機的csrf_token并儲存起來。
把csrf_token的内容告訴給用戶端。
csrf_token産生
在用戶端發起請求時,如果請求方式有csrf驗證,需要在表單資料或請求頭中攜帶csrf_token。csrf_token請求攜帶

指令行管理和資料庫遷移管理-Flask-Script擴充&Flask-Migrate擴充使用。
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand
#建立Manager管理對象
manager = Manager(app)
#建立Migrate對象
Migrate(app, db)
添加資料庫遷移管理指令
manager.add_command(‘db’, MigrateCommand)
if name == ‘main’:
manager.run()