繁体   English   中英

当我运行我的应用程序时,Flask 抛出异常

[英]Flask throwing exception when i run my app

我开始了一个简单的 Flask 项目,我正在使用 SLQAlchemy 来处理我的数据库。 我的问题是每次我运行我的应用程序时,我都会收到以下错误:

File "C:\Users\user\AppData\Local\Programs\Python\Python38\lib\site-packages\flask_sqlalchemy\__init__.py", line 137, in __init__
    track_modifications = app.config['SQLALCHEMY_TRACK_MODIFICATIONS']
KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'

这是我的代码:

from flask import Flask, request, jsonify
import json
from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Column, Integer, String
from sqlalchemy.schema import FetchedValue

app = Flask(__name__)

db = SQLAlchemy()

class User(db.Model):
    __tablename__ = 'users'
    __table_args__ = {'schema': 'tvtg'}

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(350), nullable=False)
    email = db.Column(db.String(350), nullable=False)
    password = db.Column(db.String(350), nullable=False)
    


@app.route('/')
def hello_world():
    print('HERE')
    peter = User.query.filter_by(name='peter').first()
    print(peter)
    return 'hello_world'


if __name__ == "__main__":
    app.run()

谁能帮我找出我做错了什么? 错误的回溯对我没有多大帮助

实际上,看起来在使用flask-sqlalchemy时,您必须为SQLALCHEMY_TRACK_MODIFICATIONS设置一个值 - 即使文档另有说明(默认为None )。

是否要将其设置为TrueFalse取决于您的用例,请参阅文档

https://flask-sqlalchemy.palletsprojects.com/en/2.x/config/

或者看看这个很棒的教程

https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database

未发布的Flask-Sqlalchemy版本 3 设置了新的默认值False

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM