我在Django模板上有这个字段:
<p class="border_dotted_bottom">
{{ expert.description|slice:":300" }}
<a href="{% url 'profile' expert.username %}">{% trans "read more" %}</a>....
</p>
如果此对象(用户)没有'decription'(文本字段),则显示单词'None',我需要摆脱它,也许如果他没有'description'则显示一个Simple文字,然后“阅读更多”
到目前为止,我已经尝试过了:
<p class="border_dotted_bottom">
{{ % if expert.description >= 1 %}}
{{ expert.description|slice:":300" }}
{{% else %}}
Éste usuario por el momento no tiene descripción
<a href="{% url 'profile' expert.username %}">{% trans "read more" %}</a>....
</p>
但它不起作用,我认为这只是一个错字,或者可能与我在这里使用的条件有关...
任何人都可以对此有所了解吗?
提前致谢!
答案 0 :(得分:2)
您的问题与if/else
标签有关。你有这个:
{{ % if ... %}}
...
{{% else %}}
...
首先,您需要if/else
围绕{% %}
,而不是{{% %}}
。其次,你没有endif
。 if/else
块应如下所示:
{% if ... %}
...
{% else %}
...
{% endif %}
因此,您想要的块看起来像这样:
<p class="border_dotted_bottom">
{% if expert.description >= 1 %}
{{ expert.description|slice:":300" }}
{% else %}
Éste usuario por el momento no tiene descripción
{% endif %}
<a href="{% url 'profile' expert.username %}">{% trans "read more" %}</a>....
</p>
话虽如此,您应该能够使用Django的内置default
tag或default_if_none
tag来简化此操作,具体取决于您是否要在expert.description
时提供默认值等于''
/ None
或仅None
:
<p class="border_dotted_bottom">
{{ expert.description|default:"Éste usuario por el momento no tiene descripción"|slice:":300" }}
<a href="{% url 'profile' expert.username %}">{% trans "read more" %}</a>....
</p>