例如:
1 <div> 2 {% if True %} 3 yay 4 {% endif %} 5 </div> 6 7 生成文件為 8 9 <div> 10 11 yay 12 13 </div>
兩種方法解決:
1、如果應用程序將Jinja配置為trim_blocks,則會自動刪除模板標記之后的第一個換行符(如PHP中)。該lstrip_blocks 選項也可以設定為從線到一個塊的開始的開始剝離制表符和空格。(如果在塊開始之前還有其他字符,則不會剝離任何內容。)
與這兩個trim_blocks和lstrip_blocks啟用,你可以把自己的行塊標記,當渲染,保持內容的空白整個區塊線將被刪除。
2、手動剝離模板中的空白。如果將減號(-
)添加到塊的開頭或結尾(例如For標簽),注釋或變量表達式,則將刪除該塊之前或之后的空格。
1 {% for item in seq -%} 2 {{ item }} 3 {%- endfor %}
如果啟用了行語句,它們會自動刪除前導空格直到行的開頭。
默認情況下,Jinja2還會刪除尾隨換行符。要保留單個尾隨換行符,請將 Jinja配置為keep_trailing_newline。