如何使用“ include”语句将带有“ for循环”的django模板传递给另一模板?

我正在FAQ页面上,在该页面上,根据其类别将问题和答案传递给模板部分。我想减少html的数量,并使用div部分作为模板

/ViewsFile/Categories/ViewCategory[@Name = "Bookings"]

我的主要html包含以下代码:

<div id="{{id}}">
    <div class="h2">{{category}}</div>
    {% for q in faqs %}
        {% if q.category == '{{category}}' %}
        <ul class="collapsible">
            <li>
                <div class="collapsible-header">{{q.question}}></div>
                <div class="collapsible-body"><span>{{q.answer}}</span></div>
                <div class="divider"></div>
            </li>
        </ul>
        {% endif %}
    {% endfor %}
</div>

我只能传递变量ID和类别。 有没有办法进入for循环?

xb588172 回答:如何使用“ include”语句将带有“ for循环”的django模板传递给另一模板?

我认为解决方案是在views.py中创建类别列表。

cat = [ 'Category1','Category2','Category3','Category4']

将其传递到上下文字典,然后在div节周围放置其他“ for循环”。

{% for c in cat %}
<div id="">
    <div class="h4">{{c}}</div>
    {% for q in faqs %}
    {% if c == q.category %}
    <ul class="collapsible">
        <li>
            <div class="collapsible-header">{{q.question}}</div>
            <div class="collapsible-body"><span>{{q.answer}}</span></div>
            <div class="divider"></div>
        </li>
    </ul>
    {% endif %}
    {% endfor %}
</div>
{% endfor %}

这将生成一个模板,其中的常见问题列表分为几部分。

本文链接:https://www.f2er.com/3137962.html

大家都在问