如果没有要显示的对象数据,如何在 Jinja(烧瓶)中显示消息

How do I display a message in Jinja (flask) if there is no object data to display

我在 python views.py 中有一个引用 events 数据库 table 的对象。当有数据时,它会在我的 html 模板中显示数据,但是,当没有数据时,我无法弄清楚会显示消息“找不到数据”的 {% if %} 函数。

我试过 Tadeck's post,但 is defined 似乎总是评估为真,即使没有数据可显示也是如此。感谢您的帮助。

{% if events is defined %}
    value of variable: {{ events }}
{% else %}
    variable is not defined
{% endif %}

views.py

events = db.session.query(Eventdetails, Buyers).\
            join(Buyers).\
            filter(Eventdetails.events_id == event_id)

return render_template(
            self.template_file, events=events, the_event=the_event,
            event_id=event_id
        )

您正在传递 events 作为查询。您希望它是查询结果:

events = db.session.query(Eventdetails, Buyers).\
        join(Buyers).\
        filter(Eventdetails.events_id == event_id).all()

要尝试的事情:

{% if events %}
{% if events|length > 0 %} 
{% if events != [] %}

这对你有帮助。当事件有数据时,它将进入 if 条件,否则将执行 No data found.

{% if events %}
    value of variable: {{ events }}
{% else %}
    No data found.
{% endif %}