为什么我为此自定义过滤器获取无效过滤器?

时间:2015-05-17 02:06:57

标签: django django-filter django-filters

我试图让模板根据条件打印一些东西。它从数据库获得分数,并根据分数,说明奖章:

{% for person in comp.round_1_set.all|order_by:"-score" %}

        <tr>
        <td> {{person.score|gol_sil}}
        </td>

        </tr>

    {%endfor%}

我尝试做{% if person.score > 10 %}类型的事情,但我得到了一个错误。我想它不能在模板中完成。然后我用这段代码创建了一个过滤器:

   @register.filter_function
   def gol_sil(score):
    if score < 20:
        medal = " Silver "
    else:
        medal = " "
    return medal

并将其应用于

 {{person.score|gol_sil}}

但是我收到了无效的过滤错误,为什么会这样?

我无法在观看中执行此操作,因为我使用.set_all来获取模板中的个人,是否有任何想法?

1 个答案:

答案 0 :(得分:0)

请参阅此网址以创建过滤器

  1. https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/
  2. http://www.pfinn.net/custom-django-filter-tutorial.html/
  3. 因为我猜你在包含@ register.filter_function

    的行中有一些错误