Django проверяет права пользователей в шаблоне
Я использую представление на основе класса и использую PermissionRequiredMixin для предотвращения доступа пользователей без прав к странице. Однако я также хочу проверять разрешение пользователя на странице Index перед отображением ссылки для выполнения некоторых действий.
Я использовал {% if perms.foo %}
и {% if perms.foo.add_vote %}
согласно документации по Django. Однако, это работает для моего суперпользователя 'admin', но не работает для другого пользователя 'testuser', которому были предоставлены права на View Company.
Я не могу понять, что я упускаю. Нужен совет.
коды
in some_index.html
# test codes
<p><b>{{user.username}}</b>
{% if perms.srrp %}
have permission to <u>SRRP</u> app
{% if perms.srrp.view_company %}
and permission to <u>View Company</u> function # <a href=....>View Company</a>
{% endif %}</p>
{% else %}
do not have any permissions in SRRP app</p>
{% endif %}
in views.py
class CompanyListView(LoginRequiredMixin, PermissionRequiredMixin, ListView):
permission_required = ('srrp.view_company')
model = Company
template_name = 'srrp/view_company.html'
Результат
Login as superuser admin
admin have permision to SRRP app and permision to View Company function
Login as testuser
testuser do not have any permissions in SRRP app