【问题标题】:django template view nested listdjango模板视图嵌套列表
【发布时间】:2013-12-01 15:00:19
【问题描述】:

我创建了一个嵌套列表,并从该 id 想在我的模板中创建一个表

列表看起来像

ground_skills_available = [[category1, [skill1, skill2, skill3]], [category1, [skill1, skill2]]]

现在我想列出您在项目、下一个类别和其他项目下方的类别。问题是,我不知道热点只显示类别,而不是类别+所有项目,因为你似乎不能使用列表的索引?

有人可以帮帮我吗?

<table>
    {% for categories in ground_skills_available %}
        {% for category in categories %}
        <tr>
            <td>{{ category }}</td>
        </tr>
            {% for skill in category %}
            <tr>
                <td>{{ skill.name }}</td>
            </tr>
            {% endfor %}
        {% endfor %}
{% endfor %}

【问题讨论】:

    标签: django list templates indexing


    【解决方案1】:

    把你的外循环改成

    {% for category, skills in ground_skills_available %}
    

    Django for loop docs 中描述了此技术。

    在循环的第一次迭代中,这将获取列表[category1, [skill1, skill2, skill3],并分配

    category = category1
    skills = [skill1, skill2, skill3]
    

    然后您可以显示{{ category }},并循环访问skills

    综合起来,你有:

    <table>
        {% for category, skills in ground_skills_available %}
            <tr>
                <td>{{ category }}</td>
            </tr>
            {% for skill in skills %}
            <tr>
                <td>{{ skill.name }}</td>
            </tr>
            {% endfor %}
        {% endfor %}
    </table>
    

    【讨论】:

    • 我会看看这个,知道 1 个问题的更多可能答案永远不会伤害 :)
    【解决方案2】:

    {% if forloop.index == 1 %} ... some code ... {% endif %}

    {% if forloop.index0 == 0 %} ... some code ... {% endif %}

    期望:

    {% for categories in ground_skills_available %}
    
        {% for category in categories %}
        {% if forloop.first %}
        <tr>
            <td>{{ category }}</td>
        </tr>
        {% else %}
            {% for skill in category %}
            <tr>
                <td>{{ skill.name }}</td>
            </tr>
            {% endfor %}
         {% endif %}
        {% endfor %}
    
    {% endfor %}
    

    【讨论】:

    • 谢谢,我正要问我应该如何实现它,因为我无法让它工作。但这完美无缺
    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 2021-01-16
    • 2021-03-01
    • 2012-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 2015-10-13
    相关资源
    最近更新 更多