gpt4 book ai didi

python - SQLAlchemy 模型数据未在 Jinja 循环中呈现

转载 作者:行者123 更新时间:2023-11-28 22:38:28 24 4
gpt4 key购买 nike

我正在尝试显示项目菜单(如午餐菜单),但无法显示它们。我通过 Flask-Admin 页面添加了这些项目,并检查了数据库以验证这些项目确实存在,所以我知道这不是我的问题。为什么菜单项数据不在循环中呈现?

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)
{% for item in menu_items %}
<td>
<p><strong>{{ menu_items.name }}</strong></p>
<p>{{ menu_items.description }}</p>
<p>Price: {{ menu_items.price }}</p>
</td>
{% endfor %}

最佳答案

您正在循环内访问 menu_items 上的属性。您打算使用 item 访问每个项目的属性。

Flask 的 Jinja 环境默认跳过渲染未定义的值。 menu_items 没有 description 属性,因此 Jinja 将其视为未定义。您可以使用不同的 undefined type 使其更加严格.

from jinja2 import StrictUndefined
app.jinja_env.undefined = StrictUndefined

关于python - SQLAlchemy 模型数据未在 Jinja 循环中呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35559127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com