【问题标题】:Django Break Loop in template模板中的 Django 中断循环
【发布时间】:2017-03-17 16:44:47
【问题描述】:

我目前正在显示一个带有值的表格,如果这些值不存在,我会显示一个按钮来引入这些值。 问题是我需要在 for 循环中中断,但 Django 不支持模板中的中断。

目前的状态是这样的:

表格的html如下:

<table style="width:100%">
<tr>
<th>Num de aluno</th>
   {% for quest in questionlist 
<th> {{quest.question_id.q_discription}} </th>
   {% endfor %}
</tr>
   {% for st in students %}
<tr>
<td> {{st.student_number}} </td>
   {% for qt in questionlist %}
<td>
{%for tst in studentexamitems %}
   {% if qt == tst.qitem_id and st == tst.student_id  %}
      {{tst.qscore}}
   {% endif %}
{% endfor %}
<a href="{% url 'newTableEntry' qt.id st.id %}">
   <button type="button" class="btn btn-success btn-xs">
   <span class="glyphicon glyphicon-plus"></span>&nbsp; Grade
   </button>
</a>
</td>
{% endfor %}
</tr>
{% endfor %}
</table>

所以问题是如何在现有成绩的情况下删除按钮,并在不存在的情况下保留按钮?

【问题讨论】:

  • Django 模板不支持break,请根据需要更新您的上下文。在模板中实现逻辑不是一个好习惯。
  • 我知道,但这是我能找到的填充表格的唯一方法
  • 听起来你在问两个不同的问题。只是您想在数字成绩可用时隐藏成绩按钮吗?那将是if,而不是break。还是在某些情况下您实际上会 break 退出循环?
  • 我不明白休息的必要性,似乎if ... else ... 就足够了。
  • 我只需要在数字等级可用时不显示按钮。我认为有必要休息一下吗?还是不是?

标签: python html django for-loop


【解决方案1】:

如 cmets 所述,Django 模板系统中没有 break

您仍然可以使用if ... else 解决此问题。 如果有成绩,请显示成绩;如果成绩不可用,请显示该按钮。

{% for tst in studentexamitems %}
   {% if qt == tst.qitem_id and st == tst.student_id  %}
      {{tst.qscore}}
   {% else %}
    <a href="{% url 'newTableEntry' qt.id st.id %}">
        <button type="button" class="btn btn-success btn-xs">
        <span class="glyphicon glyphicon-plus"></span>&nbsp; Grade
        </button>
    </a>
   {% endif %}
{% endfor %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多