Django - ограничение видимости divs для определенной группы пользователей
Я создал приложение для блога на фреймворке Django. Я установил систему авторизации входа, выхода и регистрации, так что авторизованные пользователи могут видеть все, а неавторизованные могут видеть только главную страницу. Я использую django cms, чтобы люди могли добавлять и редактировать контент на сайте. Я создал 2 группы пользователей на странице администратора: менеджеры и редакторы. Менеджеры делают все, а редакторы имеют ограниченные полномочия.
Я хотел бы применить нечто подобное, но непосредственно на страницах записей блога и ограничить элементы в моих записях блога (страницы DetailvedView) для редакторов.
На странице с записью блога у меня есть 2 div. Первый div (class='everybody') должен быть виден всем, а второй div (class='managers') должен быть виден только группе менеджеров?
Я хочу предоставлять права доступа не только с помощью user.is_authenticated
, но и расширять их и решать, что каждая группа пользователей видит на сайте.
Если вы хотите проверить разрешения в шаблонах, вот как это можно сделать :
В целом :
{% if perms.app_label.can_do_something %}
<!-- Some div here -->
{% endif %}
В вашем случае :
Мы предполагаем, что is_manager
- это разрешение на проверку того, является ли пользователь менеджером или нет
{% if perms.app_label.is_manager %}
<!-- Show what managers only can see here -->
{% endif %}
<!-- Here everyone can see -->