django - 如何排除 Django 循环中的项目?

标签 django django-templates

希望只是一个简短的问题。我在使用 Django 循环函数时遇到了一些困难。我有一个简单的页面,它从数据库中获取一些数据。一切似乎都很好,尽管循环功能让我心碎。

只是我的循环:

{% if books %}
{% for reader in books %}
{{ reader.title }}
{{ reader.booknumber|default_if_none:"" }}
 {% endfor %}
{% else %}

我的结果是这样的:

Elena 141
Elena
M.Mary 1035 
P.Paul 141
P.Paul 
T.Mark 741
T.Mark 
T.Mark

我的期望结果如下:

Elena 141
M.Mary 1035 
P.Paul 141
T.Mark 741

那是因为我的数据库中的一些书号单元格是空的。我只是想知道如何让它们脱离循环?我正在使用 defult_if_none 函数来隐藏“无”,但没有找到隐藏\排除标题的方法(如果没有书号)。如果有人能帮助我,我真的很感激。提前谢谢你。

最佳答案

试试这个

{% if books %}
   {% for reader in books %}
      {% if reader.title and reader.booknumber %}
         {{ reader.title }}
        {{ reader.booknumber|default_if_none:"" }}
      {% endif %}
    {% endfor %}  
{% endif %}

关于 Django 模板的更多信息

https://docs.djangoproject.com/en/3.1/ref/templates/builtins/

关于django - 如何排除 Django 循环中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65842346/

相关文章:

python - 循环模板的键值 - Django查询

django - django、夹层、nginx 中的 displayable_links.js 出现 500 错误

python - django get_or_create 取决于自定义管理器方法的结果

python - Django - 模板或 View 中的标记解析器?

python - Django 计算一对多关系

django - django 中的电子邮件模板

Django - 时间范围小部件

python - 在 Django REST Framework 中处理不同级别的嵌套

sql-server - linux上的Django-pyodbc SQL Server/freetds服务器连接问题

django - 在 Django 模板中定义 "global variable"