Ответ 1
У Jinja есть несколько способов контролировать пробелы. У него нет способа предварительно настроить вывод, вы должны вручную убедиться, что все выглядит "красиво".
Самое широкое решение - установить trim_blocks
и lstrip_blocks
на env.
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
Если вы хотите сохранить новую строку в конце файла, установите strip_trailing_newlines = False
.
Вы можете использовать управляющие символы для изменения работы пробела вокруг тега. -
всегда удаляет пробел, +
всегда сохраняет его, переопределяя настройки env для этого тега. Символ -
может идти в начале или в конце (или в обоих) тега для управления пробелами в этом направлении, символ +
имеет смысл только в начале тега.
{%- if ... %}
раздевается перед{%- if ... -%}
полосы до и после{%+ if ... %}
сохраняет до{%+ if ... -%}
сохраняет до и удаляет после- помните, что
{% endif %}
обрабатывается отдельно
Управляющие символы применяются только к написанным вами шаблонам. Если вы включаете шаблон или используете макрос от стороннего производителя, то, как они написали, шаблон будет применяться к этой части.