2014-10-27 42 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 %}