2016-08-07 3 views
0

Используя функцию создания шаблонов флагов, вы можете быстро вылепить сложные страницы. Я хочу иметь небольшой «up vote» «module» .html-файл, который заключает в себе все скрипты и html, необходимые для работы кнопки.Jinja2 Flask Кнопка Python на многих страницах

В jinja вы можете использовать тег «extends to», который вставляет текущий раздел в раздел, называемый расширением, но можете ли вы вызвать модуль из любого шаблона?

Так 1-ко-многим вместо того, многие до 1.

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

Упорядочить как встраивание сайта.

Я подумал о нескольких способах сделать это, например, разобрать информацию для кнопки в переменной для функции render_template, но что вы бы порекомендовали?

+1

Возможно, вы ищете тег ['include'] (http://jinja.pocoo.org/docs/dev/templates/#include). –

+0

Спасибо, я считаю, что это именно то, что мне нужно. –

ответ

0

Вы должны использовать инструкцию include. Это похоже на использование import в простом Python.

Обратите внимание, что Jinja2 также имеет оператор import. Это отличается от include тем, что import ориентирован на использование макросов и исполняемого кода из файла; ничего не получается. Итак, если вы разделяете общие задачи, которые вы выполняете с операторами Jinja2, вы можете экспортировать их в макросы в файлах, которые вы затем используете в ваших шаблонах import.

Однако, если вы хотите включить визуализированный вывод, что вы делаете, придерживайтесь include.

+1

Спасибо, а также за дополнительную информацию. –

Смежные вопросы