参见英文答案 >
if..else custom template tag 3个
我使用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" %}
其中返回打印True.现在我想用它来检查用户是否拥有权限?如何在if和else条件下使用此模板标记?
目前我正在使用它:
{% if get_user_perm request "add_users" %}Can Add User{% else %} Permission Denied {% endif %}
有没有什么方法可以调整模板标签的代码或任何提示在模板中使用模板标签.
N.B:以前我使用Django这样的权限{%if perms.profile.add_user%}但是由于某些原因我现在必须编写自己的模板标签!
任何帮助将不胜感激!谢谢