我有一个特殊的过滤器,这样我可以检查我的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 %}
行!!