Как я могу использовать 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/