🐍

Django с нуля до продакшена

Полный практический курс по веб-разработке на Django: от устройства интернета и первых моделей до REST API, деплоя на VPS и двух больших проектов — блога и сайта статей. После каждого урока — интерактивные задания с автопроверкой.

86уроков
480заданий
Начать обучение →
пройден начат не начат в разработке
Модуль 1

Основы веба

Как устроен интернет, HTML и SQL — фундамент, без которого Django не понять.

  1. Как работает интернет и веб-сайты? 6 зад. · 15 мин
  2. Краткий конспект по HTML 6 зад. · 20 мин
  3. Кратко о SQL 6 зад. · 20 мин
Модуль 2

Знакомство с Django

Архитектура фреймворка, первый проект, маршрутизация, шаблоны и тесты.

  1. Что такое Django 5 зад. · 12 мин
  2. Основные принципы MVC 5 зад. · 12 мин
  3. Установка Django и создание проекта HelloWorld 7 зад. · 25 мин
  4. Диспетчер URL, часть 1 6 зад. · 20 мин
  5. Диспетчер URL, часть 2 6 зад. · 20 мин
  6. Шаблоны, часть 1 6 зад. · 20 мин
  7. Шаблоны, часть 2 6 зад. · 20 мин
  8. Введение в тестирование приложений 7 зад. · 20 мин
Модуль 3

Модели и Django ORM

Модели, поля, связи, CRUD и всё богатство QuerySet API.

  1. Создание проекта, первые модели и админ-панель 6 зад. · 25 мин
  2. Модели в Django и их поля 6 зад. · 25 мин
  3. Первые ORM запросы (CRUD) 7 зад. · 25 мин
  4. Организация связей между таблицами 7 зад. · 30 мин
  5. Django ORM, методы возвращающие QuerySet 7 зад. · 30 мин
  6. Django ORM, методы которые не возвращают QuerySet 6 зад. · 25 мин
  7. Django ORM, поисковые выражения и агрегатные функции 7 зад. · 30 мин
Модуль 4

Представления, формы и CRUD

Связываем всё вместе: views, шаблоны, URL и формы.

  1. Views/Templates/URLs 6 зад. · 25 мин
  2. Формы в Django 6 зад. · 30 мин
  3. CRUD проект 6 зад. · 40 мин
Модуль 5

Проект «Блог»: основа

Пишем полноценный блог: модели, админка, менеджеры, списки и детальные страницы.

  1. Создание проекта и приложения 5 зад. · 15 мин
  2. Создание моделей данных блога 6 зад. · 25 мин
  3. Сайт администрирования 5 зад. · 20 мин
  4. Работа с наборами запросов QuerySet и менеджерами 5 зад. · 20 мин
  5. Разработка представлений списка и детальной информации 5 зад. · 20 мин
  6. Создание шаблонов представлений 5 зад. · 25 мин
  7. Итоги работы 6 зад. · 15 мин
Модуль 6

Проект «Блог»: расширенные возможности

Канонические URL, пагинация, CBV, e-mail, комментарии, теги, sitemap, PostgreSQL и поиск.

  1. Работа с URL 5 зад. · 20 мин
  2. Добавление постраничной разбивки 5 зад. · 20 мин
  3. Разработка представлений на основе классов 5 зад. · 20 мин
  4. Рекомендация постов по электронной почте 5 зад. · 25 мин
  5. Создание системы комментариев 6 зад. · 30 мин
  6. Добавление функциональности тегирования 6 зад. · 20 мин
  7. Извлечение постов по сходству 5 зад. · 20 мин
  8. Реализация пользовательских шаблонных тегов и фильтров 6 зад. · 30 мин
  9. Добавление карты сайта 5 зад. · 20 мин
  10. Установка базы данных PostgreSQL 5 зад. · 25 мин
  11. Добавление полнотекстового поиска в блог 5 зад. · 30 мин
  12. Итоги работы 5 зад. · 15 мин
Модуль 7

Пользователи и аутентификация

Вход, регистрация, сессии, профили, OAuth и Bootstrap 5.

  1. Введение в пользовательскую систему Django 6 зад. · 20 мин
  2. Использование системы аутентификации Django 6 зад. · 25 мин
  3. Доработки системы авторизации и регистрации, добавление сессий 6 зад. · 30 мин
  4. Профили пользователей и пользовательские поля модели User 6 зад. · 30 мин
  5. Авторизация через социальные сети посредством OAuth 2.0 6 зад. · 30 мин
  6. Улучшаем дизайн блога с использованием Bootstrap 5 5 зад. · 25 мин
  7. Итоги работы 5 зад. · 15 мин
Модуль 8

REST API и Django REST Framework

Строим API для блога: сериализаторы, представления, фильтры, пагинация, права и документация.

  1. Введение в REST API 6 зад. · 20 мин
  2. Django REST Framework на примере блога 6 зад. · 25 мин
  3. Сериализаторы 6 зад. · 30 мин
  4. Представления 6 зад. · 30 мин
  5. Фильтрация 5 зад. · 25 мин
  6. Пагинация 5 зад. · 20 мин
  7. Права доступа и токены в DRF 6 зад. · 30 мин
  8. Схемы и документация 5 зад. · 20 мин
  9. Итоги работы 5 зад. · 15 мин
Модуль 9

Деплой на VPS

Выкладываем проект в интернет: сервер, Gunicorn, PostgreSQL, NGINX и HTTPS.

  1. Покупка VPS, доменного имени, привязка DNS и настройка по SSH 6 зад. · 30 мин
  2. Установка виртуального окружения, Gunicorn и списка зависимостей 6 зад. · 35 мин
  3. Установка PostgreSQL, настройка и перенос БД 6 зад. · 25 мин
  4. Установка и настройка NGINX 6 зад. · 30 мин
  5. Получение SSL сертификата от Let's Encrypt и настройка HTTPS 6 зад. · 20 мин
  6. Обновление проекта 5 зад. · 20 мин
Модуль 10

Проект «Сайт статей»: часть 1

Категории-деревья, CBV, оптимизация запросов, профили, CreateView/UpdateView и миксины.

  1. Начало работы, создание модели статей 5 зад. · 25 мин
  2. Создание древовидной модели категорий 5 зад. · 25 мин
  3. Представления на основе классов 5 зад. · 25 мин
  4. Рабoта с ListView, вывод списка статей 5 зад. · 25 мин
  5. Работа с DetailView, форматирование и обработка кириллицы в Slug 5 зад. · 25 мин
  6. Вывод дерева категорий, пагинация, добавление Bootstrap 5 5 зад. · 25 мин
  7. Оптимизация SQL запросов и установка Debug-Toolbar 6 зад. · 25 мин
  8. Профили пользователей: Модели и сигналы 6 зад. · 25 мин
  9. Профили пользователей: Представления и формы 5 зад. · 30 мин
  10. Работа с CreateView. Добавление записей пользователями 5 зад. · 25 мин
  11. Работа с UpdateView. Обновление записей пользователями 5 зад. · 25 мин
  12. Использование миксинов в работе с представлениями Django 6 зад. · 30 мин
  13. Доработки системы авторизации и регистрации 6 зад. · 35 мин
  14. Итоги работы 5 зад. · 15 мин
Модуль 11

Проект «Сайт статей»: часть 2

Древовидные комментарии на AJAX, теги, reCAPTCHA, CKEditor, лайки, RSS, кеш, middleware и страницы ошибок.

  1. Создание древовидных комментариев 5 зад. · 30 мин
  2. Создание древовидных комментариев, добавление JavaScript 5 зад. · 30 мин
  3. Добавление функциональности тегирования 5 зад. · 25 мин
  4. Добавление ReCAPTCHA для форм 5 зад. · 20 мин
  5. Интеграция WYSIWYG-редактора, установка CKEditor 5 зад. · 25 мин
  6. Создание системы Like / Dislike 5 зад. · 30 мин
  7. Добавление RSS ленты для блога 5 зад. · 20 мин
  8. Кеширование и Middleware для получения статуса пользователей 6 зад. · 35 мин
  9. Настройка своих шаблонов для страниц ошибок 403, 404 5 зад. · 20 мин
  10. Итоги работы 5 зад. · 15 мин