我使用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 :(得分:1)
对于您的生产环境,您可能会考虑缩小html以获得更高的性能。例如,使用https://pypi.python.org/pypi/django-htmlmin。
如果您只对美学感兴趣,那么e-nouri所指出的.strip
函数可能是您最好的答案。
答案 1 :(得分:0)
您可以在属性上使用.strip
来删除/修剪。
// something
{% for element in elements %}
Element: {{ element.name.strip }},
{% endfor %}
// something else
答案 2 :(得分:0)
代码中的换行符并不重要,但是当你把所有东西放在一行中时,你可以避免它们,这看起来不再那么好了:
{% for element in elements %}Element: {{ element.name.strip }},{% endfor %}