如何申请团体许可

时间:2014-04-22 18:15:03

标签: django django-models

有没有办法找到某个群组模型的权限?

我在“views.py”

中有这个
def assign_permissions(request, id_group):
    group = Group.objects.get(id=id_group)
    perms = Permission.objects.all()
    ctx = {'group':group, 'permissions':perms}
    return render_to_response('home/group/assign_perm.html', ctx, context_instance=RequestContext(request))

这是我的HTML代码

<div class="jumbotron">
    <div class="bs-example">
        <h1><small>Permissions</small></h1>
        {% if permissions %}
            <div class="table-responsive"> 
                <table class="table table-hover">
                    <thead>
                        <tr>
                            <th>ID</th>
                            <th>name</th>
                            <th>codename</th>
                            <th></th>
                        </tr>
                    </thead>
                    <tbody>
                        {% for p in permissions %}
                            <tr>
                                <td>{{ p.id }}</td>
                                <td>{{ p.name }}</td>
                                <td>{{ p.codename }}</td>
                                    {% if group.has_perm(p.codename) %}
                                        <td><a class="btn btn-sm btn-default" href="#"><span class="glyphicon glyphicon-plus"></span> Deny</a></td>
                                    {% else %}
                                        <td><a class="btn btn-sm btn-default" href="#"><span class="glyphicon glyphicon-plus"></span> Assign</a></td>
                                    {% endif %} 
                            </tr>
                        {% endfor %}
                    </tbody>
                </table>
            </div>
        {% else %}
            <h3>No permissions.</h3>
        {% endif %}
    </div>
    <br>
    <a class="btn btn-default" href="{% url 'show_groups' %}"><span class="glyphicon glyphicon-chevron-left"></span> Return</a>
</div>

我知道{% if group.has_perm(p.codename) %}句错了。我只是这样写它来理解我想要做的事情。

1 个答案:

答案 0 :(得分:2)

您可以使用group.permissions.all,

在模板中访问群组的权限

参考您的示例,使用以下命令检查组是否具有特定权限:

{% for p in permissions %}
    {% if p in group.permissions.all %}
        ...