Python 美化Jinja2模板

Python 美化Jinja2模板,python,html,jinja2,Python,Html,Jinja2,我有一个我想使用的Jinja2,但不能与美化代码结合使用。以前有人问过这个问题,但近两年都没有答案,所以现在可能有答案了 <select id="example-getting-started" name="test" multiple="multiple"> {% for k in pizza_dict %} <option value="{{ k }}" {% if pizza_dict[k] %}selected{% endif %}>{{ k }

我有一个我想使用的Jinja2,但不能与美化代码结合使用。以前有人问过这个问题,但近两年都没有答案,所以现在可能有答案了

<select id="example-getting-started" name="test" multiple="multiple">
   {% for k in pizza_dict %}
      <option value="{{ k }}" {% if pizza_dict[k] %}selected{% endif %}>{{ k }}</option>
   {% endfor %}
</select>

{比萨饼中的k为%u dict%}
{{k}
{%endfor%}
BeautifulSoup和lxml将“美化”此代码:

<select id="example-getting-started" multiple="multiple" name="test"> 
{% for k in pizza_dict %} 
    <option endif="" if="" pizza_dict="" value="{{ k }}"> {{ k }} </option> 
{% endfor %} </select>

{比萨饼中的k为%u dict%}
{{k}
{%endfor%}

这将破坏代码的功能。

最近,我在寻找一些自动格式化工具,发现VSOT:

Jinja模板不是xml,因此我不希望xml美化器工作。你可以尝试使用BeautifulSoup。见答案。另请阅读主题。@doru我在问题中演示了beautifulsoup和lxml都不起作用。如前所述,我在开发Flask/Jinja2应用程序时使用文本编辑器包。格式化的模板看起来非常整洁。@Nimrod谢谢,这是一个很好的解决方案。