Отсоединение auth/auth от приложений Django

Я являюсь автором нескольких приложений Django, которые я развертываю за системой аутентификации/авторизации. В настоящее время представления в моих приложениях, основанные на классах, жестко закодированы с учетом моих конкретных требований к аутентификации, с помощью декораторов DRF authentication_classes и permission_classes и декоратора Django permission_required (и его друзей).

Проблема в том, что я не могу найти способ настроить их на уровне проекта. Например, во время тестирования я не хочу иметь дело с моей системой авторизации - создание тестовых пользователей, вход в систему и т.д. Я просто хочу протестировать свое приложение. Но даже если у меня есть отдельная среда Django для производства и разработки, нет элегантного способа для меня, чтобы в settings.py моей среды dev сказать (например) MYAPP_AUTH_MODEL=None, а в среде prod сказать что-то вроде MYAPP_AUTH_MODEL=permission_required('myperm_create'). В качестве другого примера, как я могу предоставить потребителям моего приложения полный контроль над тем, как они защищают свое развертывание, включая возможность выбора не защищать его вообще?

Как написать приложение Django, которое может быть защищено с помощью auth/auth, не записывая ничего в приложение, что накладывает ограничения на как оно защищено в любом конкретном развертывании?

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