我对Flask有问题。这是我的代码。我遇到了错误
AttributeError: 'function' object has no attribute 'name'
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://postgres:1351996@localhost:5432/example'
db = SQLAlchemy(app)
class Person(db.Model):
__tablename__ = 'persons'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(), nullable=False)
db.create_all()
@app.route('/')
def index():
person = Person.query.first
return 'Hello ' + person.name
if __name__ == '__main__':
app.run(debug=True)
我使用app.run(debug=True)
是因为尝试使用FLASK_APP=app.py
,flask run
运行应用程序时遇到了另一个错误,我不知道为什么这个错误出现在我身上!
答案 0 :(得分:2)
您实际上并没有执行查询。您的索引函数应该是
@app.route('/')
def index():
person = Person.query.first()
return 'Hello ' + person.name
注意.first后面的括号