首页 > 解决方案 > 如果没有要显示的对象数据,如何在 Jinja (flask) 中显示消息

问题描述

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

我试过Tadeck 的帖子,但is defined即使没有要显示的数据,它似乎总是评估为真。谢谢您的帮助。

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

视图.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
        )

标签: htmlpython-3.xjinja2flask-sqlalchemy

解决方案


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

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

要尝试的事情:

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

推荐阅读