如何在Django模板中删除字符周围的空格?

时间:2018-08-09 19:45:12

标签: python html css django

我有一个看起来像这样的模板:

({% if condition_a %}
 <a href="{{ link_a }}" role="button">Add</a>
{% endif %}
{% if condtion_a and condition_b %} | {% endif %}
{% if condition_b %}
 <a href="{{ link_b }}">Edit</a>
{% endif %})

我希望它会在单词旁边加上括号。例如,对于condition_a

(添加)

但是由于html处理换行符的方式,页面呈现如下:

(添加)

其他条件(即condition_a and conditon_b)也是如此:

预期:

(添加|编辑)

结果:

(添加|编辑)

我尝试添加Django spaceless标记,但这没有用,因为它仅在html标记周围去除了空格。我可以在代码中添加更多if语句,但不希望这样做。

我还尝试将white-space: nowrap;添加到CSS中,但同样失败。

有什么办法可以修剪单词周围的空白?

1 个答案:

答案 0 :(得分:3)

执行以下操作:

{% if condtion_a and condition_b %}
    <a href="{{ link_a }}">(Add</a> | <a href="{{ link_b }}">Edit)</a>
{% elif condition_a %}
    <a href="{{ link_a }}">(Add)</a>
{% elif condition_b %}
    <a href="{{ link_b }}">(Edit)</a>
{% endif %}

不要将您的代码分散在括号内的那么多行之间。只需将它们直接添加到<a>标记内即可。为了清理您的代码,我还建议先将condition_a和condition_b放在最前面,这样您就不必启动和停止那么多的if语句(您有3个endif,这不是遵循的好习惯。可以更干净地完成)。

您也可以将ab放在底部的else语句中,但是我不知道您认为的代码,所以这可能不是一个好主意。