首页 > 解决方案 > AttributeError:“函数”对象没有属性“名称”

问题描述

我对 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.pyflask run而且我不知道为什么会出现这个错误!

标签: pythonflask

解决方案


您实际上并没有执行查询。你的索引函数应该是

@app.route('/')
def index():
    person = Person.query.first()
    return 'Hello ' + person.name

注意 .first 后面的括号


推荐阅读