У Chromium есть подробное руководство по стилю Jinja - я автор оригинала, основанный на личном использовании, отзывах коллег и рассмотрении кода других пользователей.
Помимо рекомендаций для Jinja- в основном «будь проще, поскольку это незнакомый DSL» и множество советов - самый тонкий вопрос - как структурировать код Python и взаимодействие Python / Jinja.Наши основные выводы:
- Логика в Python (более одной строки должно идти в Python; сохранять Jinja простым).
- Односторонний поток: Python → Jinja. Не вызовите Python из Jinja (кроме пользовательских фильтров), чтобы избежать сложности.
- Определите каждый контекст в одном отображении словаря .Это ваш интерфейс Python / Jinja, и его гораздо проще понять, чем составлять словарь по частям.
Jinja обладает мощными функциями, но в большинстве случаев это довольно простые шаблоны, написанные людьми, которые редко используют Jinja, поэтомуцель состоит в том, чтобы поместить фрагменты текста и базовую обработку строк в Jinja, но сохранить сложную логику в Python, которая лучше подходит и более знакома.