Какую структуру генерировать отчеты, используя Jinja2?

Как упоминалось в этой статье pandas: как сохранить список в фрейме данных? ; dtypes в кадре данных могут влиять на результаты, а также называть фрейм данных или не назначаться.

0
задан jonrsharpe 30 March 2019 в 23:35
поделиться

1 ответ

Добрый вечер,

В вашем случае я бы сделал папку с вашими шаблонами.

Например:

templates
|- base.html
|- my_template.html
|- another_template.html

Включить

Решением является использование include:

Например, в вашем base.html у вас будет :

<html>

<head>

</head>

<body>
{% include ['my_template.html', 'another_template.html'] %}
</body>

</html>

Здесь мы включаем результаты рендеринга my_template.html и another_template.html в ваш шаблон base.html.

Вам нужно будет предоставить вашей функции рендеринга все параметры, необходимые для всех HTML-шаблонов, которые вы хотите рендерить.

Расширяет

С jinja2 вы также можете делать то, что вы хотите, используя емкость extends.

Итак, допустим, у вас есть шаблон base.html типа:

<html>

<head>

</head>

<body>
{% block core %}
{{ content }}
{% endblock %}

</body>

</html>

Здесь у нас есть блок с именем core.

Затем вы можете в другом шаблоне расширить базовый шаблон и заменить core block чем-то другим, например:

{% extends "base.html" %}
{% block core %}
<h1>Hello world</h1>
{% endblock %}

К сожалению, как вы можете видеть, это означает, что если вы хотите различные Кусочки HTML вам придется сделать несколько extends.

У вас может быть другой шаблон, который будет расширять предыдущий шаблон, который расширяет базовый.

Руководство

Последнее решение, которое, на мой взгляд, не рекомендуется, но ради него я буду раскрывать здесь:

Имеет base.html вида :

<html>

<head>

</head>

<body>
{% for html in list_html_to_render %}
{{ html }}
{% endfor %}
</body>

</html>

Тогда мы больше не используем Jinja2 в этом случае, но мы визуализируем каждый html, содержащийся в list_html_to_render, который передается в функцию рендеринга.

Надеюсь, это поможет.

Хорошего дня,

Мои наилучшие пожелания. [+1135]

0
ответ дан Guillaume Lastecoueres 30 March 2019 в 23:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: