如果条件django如何使用模板标签?

时间:2017-12-11 13:05:53

标签: django django-templates

我的模板标签: -

@register.filter("participants_count_in_sessions")
def participants_count_in_sessions(session_id):
    class_session_participants_count = ClassJoin.objects.using('p5M').filter(classSession=session_id).count()
    return class_session_participants_count

以及如何在我的模板中使用它,如果: -

{% for item in data_list %}
<td class="text-center">{% if item.id | participants_count_in_sessions %}<a href="#">{% endif %}{{ item.id | participants_count_in_sessions }}</a></td>
{% endfor%}

以及使用这种方式得到的错误: -

TemplateSyntaxError at /session-on-the-basis-of-class/1/ Could not parse the remainder: '|' from '|'

1 个答案:

答案 0 :(得分:1)

您需要删除过滤器管道之间的空格:

{% if item.id|participants_count_in_sessions %}

template language只会在没有空格的情况下将其识别为过滤器 - 否则它会认为您将变量传递给模板标记,然后无法解析它。