如何获取数据库的内容数据?我在 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: 'name' is undefined 错误发生。我在 index.py 中重写,
def index():
user_data = UserData.query.filter_by(id=1).all()
return render_template('index.html', user_data=user_data)
但是发生了同样的错误。如何在 index.html 中获取和显示 id=1 的名称值?我应该如何修复此代码?
基本上,您的查询返回对象列表,而不是单个对象。
埃里克威尔逊的评论是正确的。.all()
将返回一个列表,而.one()
(我更喜欢.first()
)将返回一个.name
作为属性的单个对象。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句