python 使用jinjia2 生成文件的空格處理


例如:

 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_blockslstrip_blocks啟用,你可以把自己的行塊標記,當渲染,保持內容的空白整個區塊線將被刪除。

 

2、手動剝離模板中的空白。如果將減號(-添加到塊的開頭或結尾(例如For標簽),注釋或變量表達式,則將刪除該塊之前或之后的空格。

1 {% for item in seq -%}
2     {{ item }}
3 {%- endfor %}

如果啟用了行語句,它們會自動刪除前導空格直到行的開頭。

默認情況下,Jinja2還會刪除尾隨換行符。要保留單個尾隨換行符,請將 Jinja配置為keep_trailing_newline

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM