1. 程式人生 > >Flask之初始化封裝

Flask之初始化封裝

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之初始化封裝