Итоги работы

⏱ 15 мин · 🧩 заданий: 5

Финиш

Поздравляем — курс пройден! За вторую часть проекта сайт статей получил:

Функция Инструменты
Древовидные комментарии MPTTModel, recursetree, AJAX на fetch, JsonResponse
Теги django-taggit, облако тегов, похожие статьи
Защита от ботов django-recaptcha
Визуальный редактор django-ckeditor-5, очистка HTML через nh3
Лайки и дизлайки Модель Rating, UniqueConstraint, get_or_create
RSS django.contrib.syndication
Производительность Redis, cache_page, {% cache %}, cache.get_or_set
Статус «онлайн» Своё middleware + кеш
Страницы ошибок handler403/404/500, шаблоны в дизайне сайта

Карта курса

  1. Основы веба — HTTP, HTML, SQL.
  2. Django — проект, маршруты, шаблоны, тесты.
  3. Модели и ORM — поля, связи, QuerySet, агрегаты.
  4. Представления и формы — CRUD-проект. 5–6. Блог — менеджеры, CBV, пагинация, почта, комментарии, теги, карта сайта, PostgreSQL, полнотекстовый поиск.
  5. Авторизация — регистрация, профили, OAuth, Bootstrap.
  6. REST API — DRF: сериализаторы, представления, фильтры, права, токены, документация.
  7. Деплой — VPS, Gunicorn, PostgreSQL, Nginx, SSL, обновления. 10–11. Сайт статей — большой проект с деревьями, профилями, миксинами, AJAX, кешем и middleware.

Куда двигаться дальше

  • Docker и docker-compose — упаковать сайт, PostgreSQL и Redis в контейнеры.
  • Celery — фоновые задачи: письма, обработка картинок, рассылки.
  • Channels и WebSocket — уведомления и чаты в реальном времени.
  • CI/CD — тесты и деплой автоматически при каждом push (GitHub Actions).
  • Мониторинг — Sentry для ошибок, логирование, метрики.
  • pytest-django и factory_boy — удобные тесты и фикстуры.

Проверьте себя

Попробуйте без подсказок добавить в сайт статей:

  • закладки («Сохранить статью») с отдельной страницей в профиле;
  • подписку на автора и ленту статей подписок;
  • уведомления на почту о новых комментариях к вашим статьям (через сигнал);
  • API для статей на DRF с токенами — по образцу модуля 8.

Каждое из этих заданий собирает вместе модели, представления, формы, права, шаблоны и тесты — всё, что вы изучили.

Практика решено 0 из 5

Вы не вошли — ответы проверяются, но прогресс не сохранится. Войти или зарегистрироваться.
Задание 1 Расставить по порядку

Расположите этапы обработки запроса в Django по порядку:

  1. Запрос проходит middleware сверху вниз
  2. Ответ проходит middleware снизу вверх
  3. URL-диспетчер находит маршрут
  4. Представление обращается к моделям через ORM
  5. Шаблон рендерится с контекстом
Задание 2 Несколько вариантов

Что из этого решает проблему N+1 запросов?

Задание 3 Один вариант ответа

Какой подход безопасен для вывода HTML из визуального редактора?

Задание 4 Ввод ответа

Как называется встроенный фреймворк Django для RSS-лент? (название приложения из django.contrib)

Задание 5 Написать код

Финальное задание. Напишите ArticleDeleteView, доступный только автору: наследует AuthorRequiredMixin, DeleteView, model = Article, success_url = reverse_lazy("home"), шаблон blog/articles_delete.html.

Войдите, чтобы отмечать пройденные уроки.