Jinja2 включает пакетный фильтр - PullRequest
0 голосов
/ 14 октября 2018

Я пытаюсь включить шаблон в цикл for с примененным пакетным фильтром, но я не могу понять, как / если я могу включить для каждого объекта в списке, который возвращает фильтр

Iвидеть, как люди онлайн выбирают из цикла вот так:

{% for result in results %}
        <tr>
            <td>{{ result[0] }}</td>
            <td>{{ result[1] }}</td>
            <td>{{ result[2] }}</td>
        </tr>
{% endfor %}

Я просто не могу понять, как включить каждого из них в список. Мой код выглядит следующим образом:

{% for post in posts | batch(2, '&nbsp;') %}
        <tr>
            <td style="Width: 10%; height: auto">
                {% include '_post.html' %}
            </td>
        </tr>
{% endfor %}

1 Ответ

0 голосов
/ 14 октября 2018

Включая части шаблона в конструкции цикла / фильтра - это прекрасно.

Используя ваш пример, чтобы построить таблицу постов, используя частичный шаблон для каждой партии, вы 'Вам понадобится:

Шаблон с циклом / фильтром, в который вы добавляете частичный:

<table>
    <thead><tr>
        <th>Title</th>
        <th>Author</th>
        <th>Title</th>
        <th>Author</th>
    </tr></thead>
    <tbody>
    {% for row in posts | batch(2) %}
        {% include "row.html" %}
    {% endfor %}
    </tbody>
</table>

частичный шаблон"row.html":

<tr>
    <td>{{ row[0].title }}</td>
    <td>{{ row[0].author }}</td>
    <td>{{ row[1].title }}</td>
    <td>{{ row[1].author }}</td>
</tr>

Другой вариант - снова выполнить итерацию по пакетному разделу и использовать более простой частичный шаблон:

Шаблон:

<table>
    <thead><tr>
        <th>Title</th>
        <th>Author</th>
        <th>Title</th>
        <th>Author</th>
    </tr></thead>
    <tbody>
    {% for row in posts | batch(2) %}
        <tr>
        {% for col in row  %}
            {% include "col.html" %}
        {% endfor %}
        </tr>
    {% endfor %}
    </tbody>
</table>

И "col.html":

<td>{{ col.title }}</td>
<td>{{ col.author }}</td>

Если он не работает, дважды проверьте имена переменных, частичные имена и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...