Django注册过滤器不工作



我有一个特殊的过滤器,这样我可以检查我的Django模板中的用户权限,但我总是得到错误,我使用了一个无效的过滤器。

Views.py如下所示:

from django import template
from django.contrib.auth.models import Group
register = template.Library()
@register.filter(name='has_group') 
def has_group(user, group_name): 
  group = Group.objects.get(name=group_name) 
  return True if group in user.groups.all() else False

然后在我的模板中我有这个:

{% if request.user|has_group:"MOM" %} 
  <p>User belongs to my group </p>
{% else %} 
  <p>User doesn't belong to MOM</p> 
{% endif %}

为什么我得到一个无效的过滤器错误?

您必须先加载模板标签,然后才能使用它们。

您可以在调用模板标记之前添加{% load template_tags %}行!!

最新更新