django:在模板中评估simple_tag结果

icn*_*icn 2 django django-templates

这是我的simple_tag代码

@register.simple_tag
def has_right(request,groupname):
    if permission(request,groupname):
        return True
    return False
Run Code Online (Sandbox Code Playgroud)

这就是我在模板中尝试做的事情

 {% if has_right request 'admin' %}
    display admin link
 {%endif%}
Run Code Online (Sandbox Code Playgroud)

但它抱怨

Exception Value:    
Unused 'request' at end of if expression.
Run Code Online (Sandbox Code Playgroud)

在django模板中还有其他方法来评估标签结果吗?

Dan*_*man 13

如果您需要计算一个值,您不需要标记,您需要一个过滤器.

@register.filter
def has_right(request,groupname):
    ...


{% if request|has_right:groupname %}
Run Code Online (Sandbox Code Playgroud)