你怎么做这样的长模板标签:
<td>{{ membership.is_project_manager|yesno:"<span class='glyphicon glyphicon-ok'></span>,<span class='glyphicon glyphicon-remove'></span>"|safe }}</td>
答案 0 :(得分:3)
您正在复制yesno
标记中的大量代码。您真正需要的只是glyphicon-ok
或glyphicon-remove
。其余部分一直显示。
您可以将其更改为:
<td><span class='glyphicon {{ membership.is_project_manager|yesno:"glyphicon-ok,glyphicon-remove" }}'></span></td>
如果需要,您还可以将glyphicon-
部分移出yesno
标记。
我个人可能会发现一个简单的if标签更具可读性,但这是个人偏好。
<td><span class='glyphicon {% if membership.is_project_manager %}glyphicon-ok{% else %}glyphicon-remove{% endif %}'></span></td>
如果您发现自己编写了很多代码,那么您可以写一个返回glyphicon-ok
或glyphicon-remove
的{{3}}。这可以将模板简化为:
<td><span class='glyphicon {% glyphicon_class membership %}'></span></td>