2014-10-27 46 views
1

我使用Django模板系統來執行代碼生成(不僅適用於HTML)。我在某種程度上被django模板中的冗餘換行符所困擾。如何刪除標籤後的換行符

這裏是一個例子。模板是如下:

// something 
    {% for element in elements %} 
     Element: {{ element.name }}, 
    {% endfor %} 
// something else 

渲染輸出將是:

// something 

     Element: foo 

     Element: bar 

// something else 

預期的渲染輸出應該是:

// something 
     Element: foo 
     Element: bar 
// something else 

Google搜索了一下後,我知道我可以使用{% spaceless %}刪除渲染輸出中的任何空白。這對HTML非常有用,但對其他語言無效。我目前的解決方案是在標籤後添加一個特殊字符串,並在輸出中用空字符串替換它們。

是否有更好的解決方案來刪除標籤後的換行符?

回答

0

您可以使用.strip對您的屬性進行剝離/修剪。

// something 
    {% for element in elements %} 
     Element: {{ element.name.strip }}, 
    {% endfor %} 
// something else 
+0

對不起,我的意思是除去換行符由{%for%}'和{%endfor%}'產生 – stanleyxu2005 2014-10-27 12:05:14

0

在代碼中的換行符並不重要,但你可以避開它們,當你把一切都在一個線,這看起來並不那麼好了:

{% for element in elements %}Element: {{ element.name.strip }},{% endfor %}