Руководство, необходимое для создания проекта Django с пользовательским управлением пользователями и аутентификацией JWT

Здравствуйте, сообщество StackOverflow,

Я работаю над проектом Django со специфическими требованиями и техническими ограничениями, и мне нужно руководство, как к нему подойти. Вот детали:

Бизнес-требования: Вход

Пользователи должны иметь возможность войти в систему, а система должна обрабатывать успешные и неудачные входы, блокировки учетных записей и восстановление пароля. Выход из системы с сохранением сессии

Реализуйте безопасный выход из системы, обрабатывайте тайм-ауты сеансов и обеспечивайте сохранение сеансов в разных вкладках браузера. Управление пользователями

Админы должны иметь возможность создавать, редактировать, деактивировать учетные записи пользователей и просматривать журналы их активности. Роли и разрешения

Администраторы должны управлять ролями и разрешениями, назначать роли пользователям и изменять разрешения ролей. Технические характеристики: API: Должны соответствовать стандартам RESTful. Аутентификация: JWT - предпочтительный тип токена. База данных: MongoDB. ORM: Не следует использовать официальный ORM от Django. Управление моделями: Предпочтительно использовать Pydantic. Стандарты кодирования: Следуйте PEP8 для Python. API-фреймворк: Используйте django-rest-framework. Дизайн, основанный на классах: Реализация должна быть основана на классах и объектно-ориентирована (без функционального программирования). Текущие знания и настройки: Я знаком с Django и REST-фреймворками, но мне нужны рекомендации по интеграции MongoDB без использования Django ORM, управлению моделями с помощью Pydantic и реализации JWT-аутентификации. Вопросы: Руководство по настройке: Каковы лучшие практики интеграции Django с MongoDB с использованием Djongo и Pydantic для управления моделями? Аутентификация JWT: Как настроить JWT-аутентификацию с помощью django-rest-framework-jwt? Представления на основе классов: Кто-нибудь может привести примеры или рекомендации по структурированию представлений на основе классов для перечисленных требований? Управление сеансами: Как я могу управлять сеансами, включая автоматический выход из системы и сохранение сеансов в разных вкладках браузера? Любая помощь или указание на ресурсы будут очень признательны!

Спасибо! `

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