Django Шаблон - использовать один и тот же блок дважды с разными переменными - PullRequest
0 голосов
/ 15 января 2020

У меня есть блок под названием 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

1 Ответ

1 голос
/ 15 января 2020

отправка комментариев: как насчет того, чтобы один шаблон (например, 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 %}
...