关于使用SQLALCHEMY 出现warning 的坑

出现错误:

UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  'Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. '
FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '

解决方案:

db = SQLAlchemy()
from .models import Auth,Role,User,Group,Menu

def create_app():
    app = Flask(__name__) 
    app.config.from_object(Config)# 这里在初始化db之前需要先加载配置文件,问题解决
    Config.init_app(app)
    db.init_app(app)
    from .admin import admin as admin_blueprint
    app.register_blueprint(admin_blueprint,url_prefix = '/admin')
    return app

配置文件如下:

class Config:
    SECRET_KEY = os.urandom (24)
    SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://root:@localhost:3306/flaskrbac?charset=utf8'
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    SQLALCHEMY_COMMIT_TEARDOWN = True



    @staticmethod
    def init_app(app):
        pass

你可能感兴趣的:(flask)