Flask异常——UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALC

在使用flask框架连接数据库时,可能会遇到如下异常:
/home/python/.virtualenvs/toutiao/lib/python3.6/site-packages/flask_sqlalchemy/init.py:774: 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. ’

/home/python/.virtualenvs/toutiao/lib/python3.6/site-packages/flask_sqlalchemy/init.py:794: 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 ’
Flask异常——UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALC_第1张图片
解决方法:
检查config数据库连接配置信息,注意大小写,字母拼写。可以直接从SQLAlchemy->init_app中copy配置项,防止拼写错误。

SQLALCHEMY_DATABASE_URI = 'mysql://root:[email protected]:3306/author_book'  #数据库信息
SQLALCHEMY_TRACK_MODIFICATIONS = True

另外需要注意操作顺序:首先指定使用的数据库的链接地址,其次关闭追踪数据库的修改,最后创建一个SQLAlchemy对象,需要放在config后面。笔者被这里坑了半个钟,明明配置没有问题,就是出现异常。。。。。。。

app = Flask(__name__)
app.config.from_object(Config)   # 先指定配置类
db = SQLAlchemy(app)  # 再创建数据库对象

你可能感兴趣的:(Flask异常处理,flask,falsk异常处理)