【问题标题】:How to check if user is in group with 'or something else' support in django template?如何检查用户是否在 django 模板中支持“或其他”的组中?
【发布时间】:2014-05-22 12:20:51
【问题描述】:

现在我使用了ifuseringroup 标签,但现在我需要为具有特定权限的用户添加例外,所以我需要这样的东西(伪代码)

{% ifuseringroup 'masters' or perms.app_label.can_see_this %}

任何人都知道将接受or 和标准django if 标记表达式的组检查标记? 或者可以帮助我使用其他方法吗?

【问题讨论】:

    标签: django tags django-templates


    【解决方案1】:

    我会选择this template filter:

    {% if user|in_group:'masters' or perms.app_label.can_see_this %}
        ...
    {% endif %}
    

    【讨论】:

      【解决方案2】:

      如果您要检查模板中的权限,以下代码就足够了:

      {% if perms.app_label.can_do_something %}
      <form here>
      {% endif %}
      

      其中模型是指用户需要权限才能查看表单的模型。

      更多示例请参考https://docs.djangoproject.com/en/1.6/topics/auth/default/#permissions。

      The currently logged-in user's permissions are stored in the template variable {{ perms }}
      

      【讨论】:

      • 我知道。我正在寻找检查用户是否在组中或 的方法,例如:如果用户在组中 biggroup 或者他的名字是 marta。或者:如果用户在 group smallgroup 或 perms.appllabel.canseethis 中。如果您知道如何更好地改写问题,请随意提出建议。
      • 我已经在使用它,但它不支持or 声明。或者我错了 - 你将如何使用它来检查用户是否在组“superg”或他的名字是“marta”?
      猜你喜欢
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-07
      • 2016-04-06
      • 2011-06-14
      • 2012-06-01
      • 2021-10-26
      相关资源
      最近更新 更多