如何在Django的模板标记中注册函数?
我希望在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
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 %}
希望它有助于检查此文档:我需要的是模板标记,而不是视图。