Как я могу использовать break и продолжить в шаблонах Django?
Я хочу поставить break и продолжить в своем коде, но он не работает в шаблоне Django. Как я могу использовать continue и break, используя шаблон Django для цикла. Вот пример:
{% for i in i_range %}
{% for frequency in patient_meds.frequency %}
{% ifequal frequency i %}
<td class="nopad"><input type="checkbox" name="frequency-1" value="{{ i }}" checked/> {{ i }} AM</td>
{{ forloop.parentloop|continue }} ////// It doesn't work
{ continue } ////// It also doesn't work
{% endifequal %}
{% endfor%}
<td class="nopad"><input type="checkbox" name="frequency-1" value="{{ i }}"/> {{ i }} AM</td>
{% endfor %}
Ответы
Ответ 1
For-loops в шаблонах Django отличаются от простых Python for-loops, поэтому continue
и break
не будут работать в них. Посмотрите сами в Django docs, нет тегов шаблона break
или continue
. Учитывая общую позицию Keep-It-Simple-Stupid в синтаксисе шаблона Django, вам, вероятно, придется найти другой способ выполнить то, что вам нужно.
Ответ 2
Django не поддерживает его естественным образом.
Вы можете реализовать forloop | continue и forloop | break с настраиваемыми фильтрами.
http://djangosnippets.org/snippets/2093/