自定义消息如果没有任何记录显示在django-template

muk1a3rh  于 2023-01-27  发布在  Go
关注(0)|答案(2)|浏览(105)

你好,我尝试显示一个自定义消息,如"不存在",如果没有真正的任何记录显示和忽略有None在模板中的空记录

    • 模板:**
<div class="col-md-6 col-sm-12 col-xs-12 form-group pull-right ">
                        <label style="color : blue;" class="control-label col-md-5 col-sm-3 col-xs-12 pull-right size_Style"><i class="fa fa-circle" style="color : blue;" aria-hidden="true"></i> knowledge cost :</label>
                        <span class="col-md-12 col-sm-12 col-xs-12 form-group pull-right colorfull">
                            {{ special_knowledge.knowledgecost|safe }}
                        </span>
                        
                    </div>

                    <div class="col-md-6 col-sm-12 col-xs-12 form-group pull-right ">
                        <label style="color : blue;" class="control-label col-md-5 col-sm-3 col-xs-12 pull-right size_Style"><i class="fa fa-circle" style="color : blue;" aria-hidden="true"></i> knowledge cost percemtage :</label>
                        <span class="col-md-12 col-sm-12 col-xs-12 form-group pull-right colorfull">
                            {{ special_knowledge.knowledgecost_percent }}
                        </span>
                        
                    </div>

根据给定的HTML,第一个字段将是None,因为我的db中没有它的任何记录,所以有没有比对每个记录使用if更有效的方法?
我尝试了此方法for all来处理任何空记录

{% if special_knowledge.knowledgecost %}
{{ special_knowledge.knowledgecost|safe }}
{% else %}
Doesnt exist
{% endif %}
4xrmg8kj

4xrmg8kj1#

你可以尝试使用Django内置的default_if_none过滤器。
例如:

{{ special_knowledge.knowledgecost|default_if_none:"nothing" }}
i1icjdpr

i1icjdpr2#

第一个:你也可以使用(阅读更多)

{% if special_knowledge.knowledgecost %}
{{ special_knowledge.knowledgecost|safe }}
{% empty %}
Doesnt exist
{% endif %}

但那几乎是一样的:D
您可以使用default过滤器。(阅读更多)

{{ special_knowledge.knowledgecost|safe|default:"Doesnt exist" }}

相关问题