我使用python为权限创建了一个自定义模板标记:
register = template.Library()
@register.simple_tag
def get_user_perm(request, perm):
try:
obj = Profile.objects.get(user=request.user)
obj_perms = obj.permission_tags.all()
flag = False
for p in obj_perms:
if perm.lower() == p.codename.lower():
flag = True
return flag
return flag
except Exception as e:
return ""
然后我在我的模板中加载并使用它,如下所示:
{% load usr_perm %}
{% get_user_perm request "add_users" %}
作为回报,这是真的。现在我想用它来检查用户是否有权限?如何将此模板标记与if
和else
条件一起使用?
目前我正在这样使用它:
{% if get_user_perm request "add_users" %}Can Add User{% else %} Permission Denied {% endif %}
是否有任何方法可以在模板标记的代码中调整或提示在模板中使用模板标记。
N、 B:以前我是这样使用Django的权限的{% if perms.profile.add_user %}
,但是由于某些原因,我现在必须编写自己的模板标记!
任何帮助都将不胜感激!谢谢
您应该使用
Assignment tags
:以及在模板中加载标记之后。像这样使用:
相关问题 更多 >
编程相关推荐