Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django{%if forloop.first%}问题_Python_Django - Fatal编程技术网

Python Django{%if forloop.first%}问题

Python Django{%if forloop.first%}问题,python,django,Python,Django,我的模板中有以下代码: {% 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_si

我的模板中有以下代码:

{% 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 %}
不是这个:

{% for object in object_list %}
它现在的工作方式不起作用,因为它显示了以下内容:

<div class='side_header' id='dark_gamelink_side'>
    <a class='actionheader' href=""></a>
</div>

两次。如何检测嵌套forloop的第一次迭代?

编辑:

我从未使用过这些变量,但我认为
forloop.parentloop.first
应该这样做。如果不是因为我误解了Django的话

您应该检查是否在parentloop内,然后在第一个嵌套节点内。请尝试此修改的模板。你应该给正确的方向

{% if forloop.parentloop.first %}     
   I am in the first loop of the parent
{% else %}
{% if forloop.first %}  
    <div class='side_header' id='dark_gamelink_side'>
        <a class='actionheader' href=""></a>
    </div>
{% endif %}
{% endif %}
{%if-forloop.parentloop.first%}
我在父母的第一圈
{%else%}
{%if-forloop.first%}
{%endif%}
{%endif%}

我认为解决这个问题的最佳方法不是检测这是否是循环中的第一次迭代,而是编写HTML,使其完全处于循环之外

您应该只在for循环中编写HTML元素,实际上您希望在每次迭代中重复这些元素。如果这不起作用,请重新考虑如何向视图(对象列表、游戏、类别等)提供数据,以便更轻松地编写标记

您的视图的开头可能如下所示:

<div class='side_header' id='dark_gamelink_side'>
    <a class='actionheader' href=""></a>
</div>
{% for object in object_list %}
{% with game=object.game %}
{% for category in object.game.objectmeta.categories.all %}
{% if category.name|title == 'Puzzle' %}

{对象列表%中的对象的百分比}
{%with game=object.game%}
{object.game.objectmeta.categories.all%中的类别为%
{%if category.name | title=='Puzzle%}

我不能这样做的原因是因为稍后我将使用只能从html中的第二个for循环中访问的变量,该循环现在是静态的。@Jim在我看来(我编辑了我的回复)检查
parentloop
应该可以解决您的问题。
{% if forloop.parentloop.first %}     
   I am in the first loop of the parent
{% else %}
{% if forloop.first %}  
    <div class='side_header' id='dark_gamelink_side'>
        <a class='actionheader' href=""></a>
    </div>
{% endif %}
{% endif %}
<div class='side_header' id='dark_gamelink_side'>
    <a class='actionheader' href=""></a>
</div>
{% for object in object_list %}
{% with game=object.game %}
{% for category in object.game.objectmeta.categories.all %}
{% if category.name|title == 'Puzzle' %}