SQLALCHEMY_DATABASE_URI 和 SQLALCHEMY_BINDS 都没有设置
Neither SQLALCHEMY_DATABASE_URI nor SQLALCHEMY_BINDS is set
我正在尝试使用 flask
和 sqlalchemy
制作一个简单的待办事项应用程序。
我有以下代码:
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
我正在尝试使用 flask
和 sqlalchemy
制作一个简单的待办事项应用程序。
我有以下代码:
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