我有一个看起来像这样的模板:
({% 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中,但同样失败。
有什么办法可以修剪单词周围的空白?
答案 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,这不是遵循的好习惯。可以更干净地完成)。
您也可以将a
和b
放在底部的else语句中,但是我不知道您认为的代码,所以这可能不是一个好主意。