文章内容

2024/11/27 17:47:10,作 者: 黄兵

Flask 前端模板页面空列表判断

files 的值为 [] 的时候,使用下面判断存在问题:

{% if files.length==0 %} 
{% endif %}

在 Jinja2 模板中,length 是一种属性而不是方法,因此不能用 files.length。而应该直接使用 Jinja2 提供的过滤器 |length 来获取列表长度。正确的判断方式是:

{% if files|length == 0 %}
    <!-- 当 files 为空列表时的内容 -->
{% endif %}

解释:

  1. files|length:这是获取列表 files 的长度。
  2. == 0:用于判断列表是否为空。

如果 files 确实为空列表 [],那么条件会返回 True,进入 if 块。

替代方案:

直接判断是否为空也可以简化写法:

{% if not files %}
    <!-- 当 files 为空列表或为 None 时的内容 -->
{% endif %}

这个写法会同时适用于:

  • files 是空列表 []
  • filesNone
分享到:

发表评论

评论列表