如何在自定义标记中使用django IF模板标记解析?

时间:2011-08-11 20:09:24

标签: django django-templates

作为示例用例,假设我想创建一个这样的标签

{% linkif (section=='main') url %}Text{% endlinkif %}

避免像

这样的措辞
{% if section == 'main' %}
   <a href="{{ url }}">text</a>
{% else %}
    text
{% endif %}

 {% if section == 'main' %}<a href="{{ url }}">{% endif %}text{% if section == 'main' %}</a>{% endif %}

这两个都涉及重复自己。

如果表达式的计算结果为true,则输出指向文本周围的url的链接,否则只输出文本。

您如何使用django的IF标签逻辑评估表达式?是否有可以执行此操作的函数?

1 个答案:

答案 0 :(得分:0)

我会这样说(而且css也会更快乐)

<a href="{% if section == 'main' %}{{ url }}{% else %}#{% endif %}">text</a>