2017-03-17 80 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 %}