Flask之初始化封装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask之初始化封装相关的知识,希望对你有一定的参考价值。

# 修改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之初始化封装的主要内容,如果未能解决你的问题,请参考以下文章

Flask之模板之宏继承包含

flask基础之app初始化

Flask从入门到精通之flask程序入门

Python之Flask框架一

Python之Flask框架一

Java中面向对象的三大特性之封装