Flask之初始化封裝
阿新 • • 發佈:2018-09-07
flask __name__ man 返回值 __main__ alc imp fprot 返回
# 修改info包的init文件如下:
import redis
from flask import Flask
from flask_session import Session
from flask_sqlalchemy import SQLAlchemy
from flask_wtf import CSRFProtect
from config import MyConfig
# 方法一,設置全局變量
redis_store = None
# 方法二,創建數據庫
db = SQLAlchemy()
def create_app():
app= Flask(__name__)
app.config.from_object(MyConfig)
# 方法二, 數據庫的初始化
db.init_app(app)
# 開啟csrf保護
CSRFProtect(app)
# 配置redis
global redis_store
redis_store = redis.StrictRedis(host=MyConfig.REDIS_HOST, port=MyConfig.REDIS_PORT)
# 配置Session
Session(app)
from info.modules.index import index_blue
app.register_blueprint(index_blue)
# 方法三,app作為返回值,在manage當中可以調用
return app
# 在manage.py中修改app的獲取方式,如下: from flask_script import Manager from flask_migrate import Migrate,MigrateCommand from .info import create_app,db app= create_app() manager = Manager(app) # 用於數據庫遷移 Migrate(app, db) manager.add_command(‘db‘,MigrateCommand) if __name__ == ‘__main__‘: # app.run() manager.run()
Flask之初始化封裝