Модели проектирования и управление пользователями в Django [закрыто]

Я начинающий веб-разработчик, создающий систему на основе Django для пользователей из нескольких отделов, чтобы упростить загрузку, обработку и скачивание данных.

Большинство пользователей будут ограничены в загрузке, изменении и просмотре данных в пределах своего отдела. Некоторые привилегированные пользователи будут иметь дополнительные права на загрузку данных своего отдела. Кроме того, будут суперпользователи, которые смогут просматривать данные всех отделов.

Однако я застрял на реализации контроля прав пользователей (эффективный перевод зависит от контекста, но здесь хорошо работает "контроль прав пользователей").

Я рассматривал два подхода:

  • Множество веб-страниц: Самый простой метод предполагает создание отдельных веб-страниц для пользователей с разными правами. Пользователи с ограниченным доступом будут видеть только функции загрузки, изменения и просмотра данных своего отдела, без кнопки загрузки. Суперпользователи будут иметь доступ ко всем функциям и данным по всем отделам. Несмотря на свою простоту, такой подход требует значительного времени на разработку, поскольку для каждого уровня прав необходимо создавать отдельные страницы.
  • Единая интегрированная веб-страница: Более элегантным, но потенциально сложным решением может стать разработка единой комплексной веб-страницы для всех пользователей. Эта страница будет обладать всеми функциональными возможностями, но права пользователей будут контролировать то, что каждый пользователь может видеть и с чем взаимодействовать. Такой подход обеспечивает более унифицированный пользовательский опыт, но может потребовать более сложной логики разрешений в бэкенде.

Я не уверен в том, какой подход рекомендуется использовать на практике. Не могли бы вы проконсультировать по поводу этих методов или предложить какие-либо альтернативные паттерны проектирования? Еще один вопрос, я разрабатываю на Django, может ли Django реализовать аналогичный контроль пользователей

Вернуться на верх