gpt4 book ai didi

python - 如何在 Django 模板中处理 Jinja2 中的 for/if 循环

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:10 26 4
gpt4 key购买 nike

正在处理一个使用 django 模板的遗留项目。如何将这个 for/if 语法从 Jinja2 翻译为 django:

这个 Jinja 示例按预期工作,但在 django 中出现语法错误:

 {% for story in stories if story.status == "draft"  %}
<h1> {{story.title}} </h1>
{% empty %}
<p> No drafts to see here</p>
{% endfor %}

{% for story in stories if story.status == "published" %}
<h1> {{story.title}} </h1>
{% empty %}
<p> No published stories to see here</p>
{% endfor %}

这不适用于 {% empty %} 因为 if 语句位于内部for 循环的范围。

 {% for story in stories %}
{% if story.status == "draft" %}
<h1> {{story.title}} </h1>
{% endif %}
{% empty %}
<p> No drafts to see here</p>
{% endfor %}

{% for story in stories %}
{% if story.status == "published" %}
<h1> {{story.title}} </h1>
{% endif %}
{% empty %}
<p>No published stories</p>
{% endfor %}

最佳答案

有一些 django 模板系统的文档:

https://docs.djangoproject.com/en/2.0/ref/templates/builtins/#if

这应该可以:

{% if stories|length %}
{% for story in stories %}
{% if story.status == "published" %}
<h1> {{story.title}} </h1>
{% endif %}
{% endfor %}
{% else %}
<p>Nothing to see here.</p>
{% endif %}

关于python - 如何在 Django 模板中处理 Jinja2 中的 for/if 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com