2017-03-17 74 views
2

当前Im正在显示一个包含值的表,并且如果这些值不存在,则显示一个按钮来引入这些值。 问题是,我需要在for循环中断,但Django不支持模板中断。模板中的Django Break Loop

目前的状态是这样的: enter image description here

并表的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> 

所以,问题是我如何删除现有等级的情况下按钮,并保持按钮,如果不存在的话?

+0

Django模板不支持'break',根据需要更新您的上下文。在模板中实现逻辑并不是一个好习惯。 –

+0

我知道,但这是我能找到填充表格的唯一方法 – Funnymemes

+0

听起来好像你在问两个不同的问题。只有当数字等级可用时才想隐藏成绩按钮?这将是一个'如果',而不是'休息'。或者是否有一些条件可以让你从循环中分离出来? – VoteyDisciple

回答

0

正如评论所述,在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 %}