SQLALCHEMY_DATABASE_URI 和 SQLALCHEMY_BINDS 都没有设置

Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set

我正在尝试使用 flasksqlalchemy 制作一个简单的待办事项应用程序。

我有以下代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHERMY_DATABASE_URI'] = 'sqlite:////Users/umutcan/Desktop/pythonProject/To-Do app/todo.db'
db = SQLAlchemy(app)
class ToDo(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(80))
    complete = db.Column(db.Boolean)
if __name__ == "__main__":
    db.create_all()
    app.run(debug=True)

我不明白为什么我得到这个输出:

PS C:\Users\umutcan\Desktop\pythonProject\To-Do app> & C:/Anaconda3/python.exe "c:/Users/umutcan/Desktop/pythonProject/To-Do app/todo.py"
C:\Anaconda3\lib\site-packages\flask_sqlalchemy\__init__.py:851: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  warnings.warn(
C:\Anaconda3\lib\site-packages\flask_sqlalchemy\__init__.py:872: 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.
  warnings.warn(FSADeprecationWarning(
 * Serving Flask app "todo" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with windowsapi reloader
C:\Anaconda3\lib\site-packages\flask_sqlalchemy\__init__.py:851: UserWarning: Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set. Defaulting SQLALCHEMY_DATABASE_URI to "sqlite:///:memory:".
  warnings.warn(
C:\Anaconda3\lib\site-packages\flask_sqlalchemy\__init__.py:872: 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.
  warnings.warn(FSADeprecationWarning(
 * Debugger is active!
 * Debugger PIN: 240-804-640
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

我该怎么做才能解决它?

您的应用似乎 运行 应该如此。您只需设置变量即可使 flask-sqlalchemy 正常工作。

你拼错了SQLALCHEMY_DATABASE_URI。所以你的代码实际上是:

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////Users/umutcan/Desktop/pythonProject/To-Do app/todo.db'

要禁用有关 SQLALCHEMY_TRACK_MODIFICATIONS 的警告,您必须将其设置为 False:

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False