gpt4 book ai didi

python - Django - 如何使用带有 'if' 和 'else' 检查的自定义模板标签?

转载 作者:太空狗 更新时间:2023-10-29 20:33:46 25 4
gpt4 key购买 nike

<分区>

我已经使用 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。现在我想用它来检查用户是否有权限?如何在 ifelse 条件下使用此模板标签?目前我是这样使用它的:

{% if get_user_perm request "add_users" %}Can Add User{% else %} Permission Denied {% endif %}

有什么方法可以调整模板标签的代码或任何提示以在模板中使用模板标签。
N.B: 以前我使用 Django 的权限像这样 {% if perms.profile.add_user %} 但由于某些原因我现在必须编写自己的模板标签!
任何帮助将不胜感激!谢谢

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com