显示复选标记和交叉而不是布尔值TRUE和False?

时间:2017-03-20 00:33:54

标签: javascript html django

我有一个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代码。

3 个答案:

答案 0 :(得分:4)

在html上,您可以使用此unicode格式的{strong>刻度符号 &#10004;结果

此外,您可以使用此html格式的{strong>次代码 &times;结果×

参考:

Tick symbol in HTML/XHTML

What is the proper HTML entity for the "x" in a dimension?

修改

选项1 - 有效,但不建议

如果{{ variable }}返回TRUEFALSE 你可以用javascript检查它

<td>
    <script type="text/javascript">
        if( "{{ variable }}" === "FALSE" ) {
            document.write("×");
        } else {
            document.write("✔");
        }
    </script>
</td>

以上选项不是建议的。如果你以错误的方式使用它,它将产生问题和安全漏洞(至少逃避你的字符串)。

选项2 - 在这种情况下更好(建议)

在Django模板中,检查是真还是假

<td>{% if variable == True %}&#10004;{% else %}&times;{% 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>

如果variableNone,它还支持使用可选的第3个值。