【问题标题】:Need to print the statement inside for loop only once - Django只需在 for 循环中打印一次语句 - Django
【发布时间】:2015-05-21 08:10:49
【问题描述】:

所以在我的模板中,我只需要在 for 循环中打印一次语句,即使它迭代了很多次。我的代码是:

{% for interview in scheduledinterviews %}
    {% if interview.slot.start.date == today.date %}
<div class="row">

    <div class="col-xs-12 profile-dash">
          <h4>Today's Interviews</h4>
    </div>
</div>

我只需要打印一次 Todays Interview,因为它满足循环内的 if 条件。我该怎么办?

【问题讨论】:

  • 你想做什么?您是否要检查预定的面试是否不为空?你可以像 {% if scheduledinterviews %) Today Interviews{%endif%}
  • 如果你只想运行你的 for 循环,你可以使用 slice!比如 {% interview in scheduledinterviews|slice:"1" %}

标签: python django django-templates


【解决方案1】:

您可以使用ifchanged 标签。

{% ifchanged interview.slot.start.date %}<h4>Today's Interviews</h4>{% endifchanged %}

【讨论】:

  • {% ifchanged %} 在单循环下工作,但我在两个循环内尝试,但它不起作用。例如- {% for i in j %} {% for k in j %} {% ifchanged %} //something here// {% endifchanged %} {% endfor %} {% endfor %} 但在这种情况下是不工作
【解决方案2】:

很抱歉让您失望了,但 django 模板中没有中断标签。对我来说,最简单的方法是在渲染数据之前在各自的视图中更好地准备上下文数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-31
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    相关资源
    最近更新 更多