Django AdminSite / ModelAdmin для конечных пользователей?

Не всему программному обеспечению нужен интерфейс администратора для «производителей контента» слева и сайт для «посетителей / участников» на право.

Часто говорят, что «Администратор - это не ваше приложение» (см., например, принятый ответ (март 2009 г.) ).

Я не смог найти упомянутое ограничение в документации Django. Похоже, что в основе вышеизложенного лежит предположение - « мощный и готовый к работе интерфейс, который производители контента могут немедленно использовать, чтобы начать добавлять контент на сайт » - но разные уровни доступа, безусловно, предполагалось, даже упоминалось в FAQ . А какой еще вариант использования нескольких экземпляров AdminSite?

В настоящее время я работаю над программным обеспечением, которое в основном представляет собой интерфейс CRUD. Каждый пользователь должен быть аутентифицирован, и единственная разница между администраторами и клиентами состоит в том, что последние могут работать только со «своими» объектами (и не имеют доступа к определенным моделям, таким как «Пользователь» и т. Д.). Кстати, «их» в моем случае не связаны с тем, кто создал объект, а скорее с какой «компанией» он связан .

Есть ли веская причина не придерживаться интерфейса администратора, а просто настроить правильный набор разрешений? Можно ли доверять разрешениям ModelAdmin? Почему бы просто не вызвать всех зарегистрированных пользователей как «персонал»?

Для традиционных представлений, не являющихся администраторами, я вижу, что переписываю то, что, кажется, уже есть: ModelForm - хорошее начало, но CRUD Функциональные возможности и фильтры, зависящие от типа (включая детализацию по дате), не являются общедоступными компонентами. Функциональные возможности администратора уже предоставляют подавляющее большинство функций, которые нужны конечным пользователям, и настройки полей / фильтров / шаблонов и т. Д. Достаточно для моих нужд. Очевидно, что там, где я добавляю новую функцию, например, для видимости ее кнопки и доступа к соответствующим представлениям требуется проверка разрешений. Я не беспокоюсь об этом. Я' Мне просто любопытно, правильно ли в таком случае функциональность администратора покрывается встроенным набором разрешений. Есть ли у вас опыт с этим?

ОБНОВЛЕНИЕ: Извините, основная часть этого вопроса кажется неясной. Я не беспокоюсь о своих настройках, я беспокоюсь о доверии существующему приложению администратора и его реализации разрешений. См. Также комментарии к Daniel и FallenAngel.

21
задан Community 23 May 2017 в 10:28
поделиться