Member 13604642 Ответов: 0

Использование моего пользовательского тега templatetag для разрешения пользователя дает мне ошибку “нет разрешения, соответствующего данному запросу”.


Вот мой тег шаблона пользовательского разрешения(templatetags/init.py, user_perm.py):
from django import template
from django.contrib.auth.models import Permission
from django.shortcuts import get_object_or_404

register = template.Library()

@register.filter(name='has_perm')
def has_perm(user, perm_name):
    perm = get_object_or_404(Permission, name=perm_name)
    perms = perm.permissions.all()
    if perms:
        return perm in user.get_all_permissions()
    else:
        return ""

а вот и мой шаблон использования:

.
..
{% load  user_perm %}
...
          {% if request.user|has_perm:"staff" %}
                    <h6><span id="sent">No teams are defined, but you can</span>
                        <a

                            class="btn btn-default btn-mini" id="action_text"

                            href='{% url "committee-create" project.slug %}'> create one
                        </a>
                   </h6>
          {% endif %}


Что я уже пробовал:

Вызов разрешений в шаблонах, таких как суперпользователь не работает, вызов всех разрешений пользователя в templatetag для фильтрации проанализированных разрешений в шаблоне.

0 Ответов