Использование моего пользовательского тега 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 для фильтрации проанализированных разрешений в шаблоне.