首页 > 解决方案 > Django 模板 - 使用不同的变量两次使用相同的块

问题描述

我有一个街区car_table和两种汽车:蓝色和红色。我想要一个包含两张表的模板,一张用于红色汽车,一张用于蓝色汽车,但我只想使用“通用”块car_table

base_template.html我定义标题和一般的东西

<!DOCTYPE html>

    blablabla...

    {% block content %}{% endblock %}

</html>

这是cars_table.html

{% extends base_template.html %}
{% block content %}

    blablabla...

    {% block table %}
    ...
        {% for car in cars %}
        <tr>
            <td>{{ car.name }}</td>
        </tr>
        {% endfor %}

    {% endblock %}

{% endblock %}

现在,我想要一个包含两个表格的页面:蓝色汽车和红色汽车,只使用cars_table

标签: djangodjango-templates

解决方案


转发评论:拥有一个模板(例如)怎么样,both_tables.html并且带有实际表格的模板将被包含(通过{% include %})两次,每次用于一种颜色的汽车,而不是扩展基本模板:

both_tables.html

{% with red_cars as cars %}
    {% include car_table.html %}
{% endwith %}

{% with blue_cars as cars %}
    {% include car_table.html %}
{% endwith %}

car_table.html

{% for car in cars %}
    <tr>
        <td>{{ car.name }}</td>
    </tr>
{% endfor %}

推荐阅读