【问题标题】:How can I use a Django template tag for greater than on a forloop.counter?如何在 forloop.counter 上使用 Django 模板标签大于?
【发布时间】:2009-07-17 15:10:57
【问题描述】:

我想要一个django模板页面中“ifgt”模板标签的效果:

{%ifgt forloop.counter 10%}<!---special greater than 10 code--!>{%endif%}

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    如果你需要greater-than,你可以使用下面的easy sn-p(放入app/templatetags/greaterthan.py em>):

    from django import template
    register = template.Library()
    
    @register.filter
    def gt(a, b):
        return a > b
    

    在模板中:

    {% load greterthan %}
    {% if forloop.counter|gt:10 %}...{% endif %}
    

    【讨论】:

      【解决方案2】:

      这个 Django sn-p 将为您提供一个智能 if 标记,您可以将其与运算符一起使用,例如大于:http://www.djangosnippets.org/snippets/1350/

      编辑:Django 现在包含智能 if 标记,因此如果您使用的是最新版本,则不需要该 sn-p。

      【讨论】:

      • 您知道在页面上加载“smart_if”模板标签是否会降低正常“if”语句的性能?
      • 我无法想象它会更糟糕到导致任何明显的差异。如果相差 1 毫秒,我会感到非常震惊。
      猜你喜欢
      • 1970-01-01
      • 2014-07-23
      • 2010-11-16
      • 2014-03-20
      • 2013-10-04
      • 1970-01-01
      • 2011-09-17
      • 2022-11-25
      • 2019-02-26
      相关资源
      最近更新 更多