下午好,
如何在 Django 模板中使用变量变量名?
我有一个自定义身份验证系统,使用context
,has_perm
检查用户是否有权访问指定部分。
deptauth
是一个具有限制组名称的变量,即 SectionAdmin。我认为has.perm
实际上是在检查我想要'deptauth'
的变量值而不是变量值SectionAdmin
。
{%if has_perm.deptauth %}
我怎样才能做到这一点?has_perm.{{depauth}}
或类似的规定?
编辑 - 更新代码
{% with arg_value="authval" %}
{% lookup has_perm "admintest" %}
{% endwith %}
{%if has_perm.authval %}
window.location = './portal/tickets/admin/add/{{dept}}/'+val;
{% else %}
window.location = './portal/tickets/add/{{dept}}/'+val;
{%endif%}
has_perm 不是对象..它在我的上下文处理器(permchecker)中:
class permchecker(object):
def __init__(self, request):
self.request = request
pass
def __getitem__(self, perm_name):
return check_perm(self.request, perm_name)