我可以使用Django的模板引擎在每个模板标签后抑制换行吗?

时间:2010-04-09 09:04:54

标签: django django-templates

在Rails ERB中,您可以通过向标记添加尾随连字符来抑制换行符:

<ul>
  <% for @item in @items -%>
    <li><%= @item %></li>
  <% end -%>
</ul>

变为:

<ul>
    <li>apple</li>
    <li>banana</li>
    <li>cacao</li>
</ul>

有没有办法在Django中这样做? (披露:我正在用Django生成一个csv文件)

编辑:澄清我正在寻找的新线是模板标签之后留下的线。

5 个答案:

答案 0 :(得分:4)

我找到的最接近你正在寻找的东西(我正在寻找相同的东西)是谈论未来的补丁,在这里:http://code.djangoproject.com/ticket/2594

不幸的是,在他们合并该补丁之前,你似乎无能为力。

答案 1 :(得分:3)

{% spaceless %}
<ul>
    <li>apple</li>
    <li>banana</li>
    <li>cacao</li>
</ul>
{% endspaceless %}

我不知道有什么方法可以丢弃模板标签行。我投票支持打开错误报告。

答案 2 :(得分:1)

例如:

<ul>
{% for obj in list %}
    <li>{{ obj|linebreaksbr|striptags }}</li>
{% endfor %}
</ul>

或者这也在HTML标记之间删除空格/制表符等:

{{ spaceless }}
<ul>
{% for obj in list %}
    <li>{{ obj }}</li>
{% endfor %}
</ul>
{{ endspaceless }}

答案 3 :(得分:1)

现在是2016年,我认为这个问题仍然存在。 在本教程中https://www.youtube.com/watch?v=vQjmz9wCjLA 在1:45左右,模板的单元测试显示标签末尾有一个尾随换行符。

答案 4 :(得分:0)

当你编写一个模板时,你可以在模板中打开ul硬编码并循环trought items并返回其中的值。

据我所知,没有默认功能。