Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我是否可以使用Django'抑制每个模板标记后的换行符;什么是模板引擎?_Django_Django Templates - Fatal编程技术网

我是否可以使用Django'抑制每个模板标记后的换行符;什么是模板引擎?

我是否可以使用Django'抑制每个模板标记后的换行符;什么是模板引擎?,django,django-templates,Django,Django Templates,在Rails ERB中,可以通过向标记添加尾随连字符来抑制换行: <ul> <% for @item in @items -%> <li><%= @item %></li> <% end -%> </ul> 变成: <ul> <li>apple</li> <li>banana</li> <li>

在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文件)


编辑:澄清我正在查找的换行符是模板标记后留下的换行符。

当您编写模板时,您可以打开模板中的ul硬编码,并循环trought项,然后返回其中的值

据我所知,没有默认的函数。例如:

<ul>
{% for obj in list %}
    <li>{{ obj|linebreaksbr|striptags }}</li>
{% endfor %}
</ul>
    {列表%中obj的%s}
  • {{obj | linebreaksbr | striptags}}
  • {%endfor%}
或者,这也会在HTML标记之间去除空白/制表符/等:

{{ spaceless }}
<ul>
{% for obj in list %}
    <li>{{ obj }}</li>
{% endfor %}
</ul>
{{ endspaceless }}
{{spaceless}
    {列表%中obj的%s}
  • {{obj}}
  • {%endfor%}
{{endspaceless}}
{%spaceless%}
  • 苹果
  • 香蕉
  • 可可
{%endspaceless%}

我不知道有什么方法可以丢弃模板标记行。我会投票支持《虫子报告》的开头

我找到的最接近您所要查找的内容(我正在查找相同的内容)是关于未来补丁的讨论,这里:


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

现在是2016年,我认为这个问题仍然存在。 在本教程中
大约在1:45,模板的单元测试显示在标记的末尾有一个尾随的换行符。

这会删除所有的换行符,但不会从只包含模板标记的行中删除换行符。第二个示例会删除所有的换行符,而不仅仅是那些由于在自己的行上有模板标记而导致的换行符。您的第一个示例只是剥离了obj中的换行符……这与OP的要求不完全一样。他们永远不会合并该补丁。错误报告以一条消息结束,本质上说Django的模板引擎不会看到新功能,计划让Jinja成为Django的首选引擎。现在是2017年,仍然没有合理的解决方案!Jinja2有一个解决方案:
{% spaceless %}
<ul>
    <li>apple</li>
    <li>banana</li>
    <li>cacao</li>
</ul>
{% endspaceless %}