如何在Django的模板标记中注册函数?

如何在Django的模板标记中注册函数?,django,Django,我希望在django的模板标记中保留一个没有参数的函数,并能够在模板中调用它 函数示例: def my_count(): return models.MyModel.objects.count() 模板示例: Count: {{ my_count }} {% my_count %} 我应该如何在我的模板中定义函数my_count?您应该在模板中查看 def my_count(request): model_count = models.MyModel.objects.co

我希望在django的模板标记中保留一个没有参数的函数,并能够在模板中调用它

函数示例:

def my_count():
    return models.MyModel.objects.count()
模板示例:

Count: {{ my_count }}
{% my_count %}
我应该如何在我的模板中定义函数
my_count

您应该在模板中查看

def my_count(request):
    model_count =  models.MyModel.objects.count()
    return render(request, 'myapp/mytemplate.html', {
        'model_count ': model_count,
    })
编辑

您应该在模板标记上注册,如

模板标记也不会被调用

{{ my_count }}
它们相当于使用

{% my_count %}
在您的tags.py中:

from django import template
from django.conf import settings

register = template.Library()

@register.simple_tag
def my_count():
   return models.MyModel.objects.count()
然后,在模板中:

Count: {{ my_count }}
{% my_count %}

希望它有助于检查此文档:我需要的是模板标记,而不是视图。