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

时间:2020-09-09 02:54:45

标签: html python-3.x jinja2 flask-sqlalchemy

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

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

{% 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
        )

2 个答案:

答案 0 :(得分:1)

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

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

尝试的事情:

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

答案 1 :(得分:1)

这将为您提供帮助。当事件包含数据时,它将进入if条件,否则将执行No data found

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