que tiene el código siguiente en mi plantilla:Django {% if%} forloop.first pregunta
{% for object in object_list %}
{% with game=object.game %}
{% for category in object.game.objectmeta.categories.all %}
{% if category.name|title == 'Puzzle' %}
{% if forloop.first %}
<div class='side_header' id='dark_gamelink_side'>
<a class='actionheader' href=""></a>
</div>
{% endif %}
<div class='game_link' id='dark_gamelink'>
<a class='img_link' href="{% url game_view game.id game.title|slugify %}">
<img class='game_img' src='{{game|thumb:"78x65"}}' alt='{{game.title}}' />
</a>
<div class='top_game_title' style='padding:0'>
<a style='position:relative; top:-3px' id='yellowlink' href="{% url game_view game.id game.title|slugify %}">{{game.title}} -- {{category.name|title}}</a>
<img style='position:relative; top:1px; margin-left:12px' src='thumbsup.gif' width='17' height='18'/>
<span style='position:relative; top:-3px; font-size:10px; color:white'>99%</span>
</div>
{% if game.description|length > 65 %}
{{ game.description|slice:"65" }}...
{% else %}
{{ game.description }}
{% endif %}
</div>
{% if forloop.counter0 == 3 %}
<div class='more_games'><br/></div><div class='side_header' id='dark_gamelink_side'><a class='adventureheader' href=adventure.htm></a></div>
{% endif %}
{% endif %}
{%endfor%}
{% endwith %}
{% endfor %}
Ahora estoy usando esto:
{% if forloop.first %}
<div class='side_header' id='dark_gamelink_side'>
<a class='actionheader' href=""></a>
</div>
{% endif %}
para tratar de detectar si se trata de la primera iteración del bucle for inmediatamente anterior no el padre forloop. En otras palabras, estoy tratando de detectar si es la primera iteración de este bucle for:
{% for category in object.game.objectmeta.categories.all %}
no
éste:
{% for object in object_list %}
La forma en que está ahora no está funcionando porque es mostrar esta :
<div class='side_header' id='dark_gamelink_side'>
<a class='actionheader' href=""></a>
</div>
Dos veces. ¿Cómo detectar la primera iteración del forloop anidado?
sin que no lo hizo, acaba de cumplir la página en blanco. – Jim
@Jim en mi opinión (he editado mi respuesta) al comprobar que 'parentloop' debería resolver su problema. – jazz