隐藏Django模板中的重复迭代

时间:2015-05-19 14:02:48

标签: python django django-templates

我正在使用Django。在我的模板中,我使用for循环,但我不需要打印已经打印的相同日期。所以我的代码是 -

{% for applicant in applicants %}

<div class="row">
    <div  class="col-xs-12">
        <div class="col-xs-12 col-sm-12 col-md-2">
            <div  class="col-xs-12 application_slot_list">
                <h5>{{ applicant.created_on|date }}</h5>
            </div>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-10 candidate_list_application">
            <div class="row">
                <div class="col-xs-12 list-title">
                    <h4>{{ applicant.employee }}<small class="pull-right"><button class="btn btn-link">Download CV</button></small></h4>
                </div>

所以我在这里尝试打印两件事,员工和约会,但我不打算重复打印日期。有没有办法做到这一点。我想只在模板中而不是在视图中执行此操作。

1 个答案:

答案 0 :(得分:3)

使用{% ifchanged %}标记:

  

检查一个值是否从循环的最后一次迭代中发生了变化。

{% for applicant in applicants %}
    <div class="row">
        <div  class="col-xs-12">
            {% ifchanged %}
                <div class="col-xs-12 col-sm-12 col-md-2">
                    <div  class="col-xs-12 application_slot_list">
                        <h5>{{ applicant.created_on|date }}</h5>
                    </div>
                </div>
            {% endifchanged %}
            <div class="col-xs-12 col-sm-12 col-md-10 candidate_list_application">
                <div class="row">
                    <div class="col-xs-12 list-title">
                        <h4>{{ applicant.employee }}<small class="pull-right"><button class="btn btn-link">Download CV</button></small></h4>
                    </div>
                </div>
            </div>
        </div>
    </div>
{% endfor %}