To generate a set of Javascript variables with the appropriate parameters from my Django application, I have two nested loops:
<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>
When {% empty %} occurs, it does not have access to the {{ forloop.parentloop. counter0 }} {{ forloop.parentloop. counter0 }} , so the variable name js_variable[n] incorrectly printed as js_variable (without the number provided by another counter) and later code complains.
Is it possible that this variable will not be available in the {{ empty }} tag?
source share