Pythonのjinja2で出力される無駄な改行を削除する方法

Pythonのjinja2を使ったテンプレートで生成したHTMLソースを見ると、無駄な改行が多くてソースを解析するのに困ったことはありませんか?

それはjinja2の「{% … %}」部分が空行として出力されてしまうからです。

これを制御すると無駄のないすっきりしたHTMLソースになります。

スポンサーリンク

jinja2で出力される無駄な改行を削除する

jinja2で出力される無駄な改行を削除するには「{% … %}」を「{%- … %}」としてやることでその行を空白として出力されることがなくなります。

まずは、Pythonのソースから。

まずは「{% … %}」をなにも制御せずに実行してみます。

無駄なロジックですが、jinja2が出力した空行を見たいだけなので、ご了承を。

出力されたHTMLは

となり、「{% … %}」の行が空行として出力されていますね。

次に「{%- … %}」で改行を制御してみます

改行を制御したHTMLソースは

と「{%- … %}」の行が空行として出力されていません。

まとめ

jinja2で出力される無駄な改行を削除するには「{% … %}」を「{%- … %}」としてやることでその行を空白として出力されることがなくなります。

以上、Pythonのjinja2で出力される無駄な改行を削除する方法でした。

タイトルとURLをコピーしました