我有一个Django / MySQl / bootsrap网站,我的视图显示了一些布尔列值。有没有办法显示复选标记和十字标记而不是显示TRUE或False?它可以是.svg文件或用于复选标记和交叉的HTML代码。任何才华横溢的人都做过同样的事情吗?
<tr class="table_content">
<td>{{ sku.sku }}</td>
<td>{{ sku.gsa }}</td>
<td>{{ sku.service_category }}</td>
<td>{{ sku.product_category }}</td>
<td>{{ sku.product_description }}</td>
<td>{{ sku.unit }}</td>
<td>${{ sku.msrp }}</td>
<td>${{ sku.channel_price }}</td>
<td>{{ sku.volume_pricing }}</td>
<td>{{ sku.comments_sku_description }}</td>
<td>{{ sku.new_sku }}</td>
<td>{{ sku.price_requested }}</td>
<td>{{ sku.to_be_retired }}</td>
</tr>
最后3个返回布尔值。我正在尝试显示复选标记和交叉的.svg文件或仅用于复选标记和交叉的HTML代码。
答案 0 :(得分:4)
在html上,您可以使用此unicode格式的{strong>刻度符号 ✔
结果✔
此外,您可以使用此html格式的{strong>次代码 ×
结果×
参考:
What is the proper HTML entity for the "x" in a dimension?
修改强>
选项1 - 有效,但不建议
如果{{ variable }}
返回TRUE
或FALSE
你可以用javascript检查它
<td>
<script type="text/javascript">
if( "{{ variable }}" === "FALSE" ) {
document.write("×");
} else {
document.write("✔");
}
</script>
</td>
以上选项不是建议的。如果你以错误的方式使用它,它将产生问题和安全漏洞(至少逃避你的字符串)。
选项2 - 在这种情况下更好(建议)
在Django模板中,检查是真还是假
<td>{% if variable == True %}✔{% else %}×{% endif %}</td>
有关更多精美图标,请查看FontAwesome
答案 1 :(得分:1)
{% if variable %}
<span class="fas fa-check-square" style='font-size:24px;color:green'></span>
{% else %}
<span class="fas fa-window-close" style='font-size:24px;color:red'></span>
{% endif %}
答案 2 :(得分:0)
我更喜欢使用更简洁的yesno
模板过滤器(https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#yesno):
<td>{{ variable|yesno:"✔,✘" }}</td>
如果variable
为None
,它还支持使用可选的第3个值。