Чтобы сгенерировать набор переменных Javascript с соответствующими параметрами из моего приложения Django, у меня есть два вложенных цикла for:
<script>
{% for model in models %}
{% for item in model.attribute|slice:":3" %}
{% if forloop.first %}
var js_variable{{ forloop.parentloop.counter0 }} = [
{% endif %}
'{{ item.attribute }}' ,
{% if forloop.last %}
{{ item.attribute }} ]
{% empty %}
var js_variable{{ forloop.parentloop.counter0 }} = []
{% endfor %}
{% endfor %}
....code that gets unhappy when js_variable[n] doesn't exist.....
</script>
Когда {% empty %}
возникает, похоже, что у него нет доступа к {{ forloop.parentloop. counter0 }}
переменная, поэтому имя переменной js_variable[n]
печатается неправильно как js_variable
(без числа, иначе предоставленного счетчиком), и более поздний код жалуется.
Эта переменная не будет доступна в теге {{ empty }}
?