如何获取数据库的内容数据?我在index.py中写道,
def index():
user_data = UserData.query.filter_by(id=1)
return render_template('index.html', user_data=user_data)
index.html中的
<div>
<p>{{ user_data.name }}</p>
</div>
在models.py
中class UserData(db.Model):
id = db.Column(db.Integer)
name = db.Column(db.Text)
当我在浏览器中显示index.html时,jinja2.exceptions.UndefinedError:&#39; name&#39;是未定义的错误发生。我在index.py,
重写def index():
user_data = UserData.query.filter_by(id=1).all()
return render_template('index.html', user_data=user_data)
但同样的错误发生了。我怎么能得到&amp;在index.html中显示id = 1的名称值?我该如何修复此代码?
答案 0 :(得分:1)
基本上,您的查询返回一个对象列表,而不是单个对象。
埃里克威尔逊的评论是正确的。.all()
会在.one()
(我更喜欢.first()
)返回一个.name
作为属性的对象时返回一个列表。