0

我试图操纵两个对象进行计算,但是我收到错误:“无效的过滤器”

在 html 前端,我有一个包含对象的嵌套循环:单位和人员如下:

{{units|myFilter:person}}

其中单位有几个对象,而人只有一个。

我的过滤器定义为:

def myFilter(units,person):
    n = 0
    for i in units:
        if i.name == person.name:
            n = n + 1
    return n

但它不起作用,请有任何想法或建议吗?

4

1 回答 1

0

您可以注册一个simple_tag接受任意数量的位置或关键字参数的函数;

from django import template

register = template.Library()

@register.simple_tag
def my_tag(a, b):
    print(a, b)

    return 'What you need'

这就是如何在您的模板中使用它;

{% my_tag 123 "abcd" %}

这是文档;https://docs.djangoproject.com/en/1.8/howto/custom-template-tags/#simple-tags

于 2022-01-06T05:00:50.637 回答