我正在尝试显示菜单项(如午餐菜单),但无法显示。我通过Flask管理页面添加了这些项目,并检查了数据库以验证这些项目是否确实存在,因此我知道这不是我的问题。为什么菜单项数据不在循环中呈现?在
class MenuItems(db.Model):
id = db.Column(db.Integer(), primary_key=True)
name = db.Column(db.String(50), index=True, unique=True)
price = db.Column(db.Float(6), unique=False)
description = db.Column(db.String(140))
@app.route('/menu')
def menu():
menu_items = MenuItems.query.all()
return render_template('menu.html', title="Dave's Bread - Menu", menu_items=menu_items, user=current_user)
^{pr2}$
使用first()时不能循环,因为它返回的是一个项,而不是一个列表。在
在你发布的模板中,你在每个项目上循环,但总是引用列表而不是项目(项目而不是菜单项)。在
您正在访问循环中
menu_items
上的属性。{cd2>表示要使用每个项目的属性。在默认情况下,Jinja将跳过未定义的烧瓶环境值。
menu_items
没有description
属性,因此Jinja将其视为未定义。您可以使用不同的undefined type使其更加严格。在相关问题 更多 >
编程相关推荐