Урок 46. Summary session 8 — Финал курса

📁 Блок: Auth ⏱️ Время изучения: ~45 мин 🎯 Сложность: Средняя
#receiver #send_mail #has_object_permission #from #import #str #class #def #if #return #all #get_queryset #filter #in #charfield #get #or #print #await #not #raise #get_object #pre_save #post_save #foreignkey #strip #update

⚡ Кратко: суть урока

Summary session 8 — финальное повторение блока Auth (Уроки 40–45) и всего курса Python Advanced.

  • Аутентификация vs авторизация: кто ты (проверка личности) vs что тебе можно (контроль доступа). В DRF: DEFAULT_AUTHENTICATION_CLASSES → DEFAULT_PERMISSION_CLASSES.
  • Механизмы аутентификации: SessionAuthentication (куки), BasicAuthentication (Base64-заголовок), TokenAuthentication (Token <key>), JWTAuthentication (Bearer <token>).
  • JWT / SimpleJWT: access + refresh токены; TokenObtainPairView, TokenRefreshView; httpOnly-куки; middleware для авто-использования; blacklist при logout.
  • Разрешения: AllowAny, IsAuthenticated, IsAdminUser, IsAuthenticatedOrReadOnly; объектный уровень: BasePermission.has_object_permission(); DjangoModelPermissions; кастомные permissions в Meta.
  • Сигналы Django: pre_save, post_save, post_delete; @receiver / .connect(); AppConfig.ready(); автосоздание токена при регистрации пользователя.
  • Email: send_mail(); EmailBackend консольный / SMTP (Gmail); сигнал + письмо при событии.
  • OpenAPI 3: drf-spectacular; /api/schema/, /api/docs/ и /api/redoc/.

Итог: вы прошли полный курс Python Advanced — Flask, SQLAlchemy, Django, DRF, Auth. Поздравляем!

📖 О чём этот урок

Это финальный, 46-й урок курса Python Advanced. Мы проводим итоговое повторение восьмого блока — Auth (Уроки 40–45): аутентификация и авторизация в Django REST Framework, разрешения, JWT, регистрация, сигналы, email, документация Swagger.

Что повторим

  • Отличие аутентификации от авторизации: порядок проверки в DRF
  • SessionAuthentication, BasicAuthentication, TokenAuthentication, RemoteUserAuthentication
  • JWT: структура (header.payload.signature), SimpleJWT, access и refresh токены
  • Автоматическое сохранение токенов в httpOnly-куки и middleware
  • Регистрация пользователя с выдачей JWT в ответе
  • Встроенные разрешения: AllowAny, IsAuthenticated, IsAdminUser, IsAuthenticatedOrReadOnly
  • request.user — извлечение текущего пользователя; perform_create(serializer)
  • Разрешения на уровне объекта: BasePermission, has_object_permission(), IsOwnerOrReadOnly
  • Разрешения модели: DjangoModelPermissions, Meta.permissions, кастомные классы
  • Сигналы Django: pre_save, post_save, post_delete, m2m_changed; @receiver; AppConfig.ready()
  • send_mail() и настройка EMAIL_BACKEND (консоль / SMTP)
  • OpenAPI 3 / drf-spectacular: установка, настройка, /api/schema/, /api/docs/, /api/redoc/

📚 Что повторить перед изучением

🎓 Курс завершён!

Вы прошли все 46 уроков курса Python Advanced. Это финальный урок блока Auth и всего курса.

← Вернуться к оглавлению курса