Django с нуля до продакшена
Полный практический курс по веб-разработке на Django: от устройства интернета и первых моделей до REST API, деплоя на VPS и двух больших проектов — блога и сайта статей. После каждого урока — интерактивные задания с автопроверкой.
Основы веба
Как устроен интернет, HTML и SQL — фундамент, без которого Django не понять.
Знакомство с Django
Архитектура фреймворка, первый проект, маршрутизация, шаблоны и тесты.
Модели и Django ORM
Модели, поля, связи, CRUD и всё богатство QuerySet API.
Представления, формы и CRUD
Связываем всё вместе: views, шаблоны, URL и формы.
Проект «Блог»: основа
Пишем полноценный блог: модели, админка, менеджеры, списки и детальные страницы.
Проект «Блог»: расширенные возможности
Канонические URL, пагинация, CBV, e-mail, комментарии, теги, sitemap, PostgreSQL и поиск.
- Работа с URL
- Добавление постраничной разбивки
- Разработка представлений на основе классов
- Рекомендация постов по электронной почте
- Создание системы комментариев
- Добавление функциональности тегирования
- Извлечение постов по сходству
- Реализация пользовательских шаблонных тегов и фильтров
- Добавление карты сайта
- Установка базы данных PostgreSQL
- Добавление полнотекстового поиска в блог
- Итоги работы
Пользователи и аутентификация
Вход, регистрация, сессии, профили, OAuth и Bootstrap 5.
- Введение в пользовательскую систему Django
- Использование системы аутентификации Django
- Доработки системы авторизации и регистрации, добавление сессий
- Профили пользователей и пользовательские поля модели User
- Авторизация через социальные сети посредством OAuth 2.0
- Улучшаем дизайн блога с использованием Bootstrap 5
- Итоги работы
REST API и Django REST Framework
Строим API для блога: сериализаторы, представления, фильтры, пагинация, права и документация.
Деплой на VPS
Выкладываем проект в интернет: сервер, Gunicorn, PostgreSQL, NGINX и HTTPS.
Проект «Сайт статей»: часть 1
Категории-деревья, CBV, оптимизация запросов, профили, CreateView/UpdateView и миксины.
- Начало работы, создание модели статей
- Создание древовидной модели категорий
- Представления на основе классов
- Рабoта с ListView, вывод списка статей
- Работа с DetailView, форматирование и обработка кириллицы в Slug
- Вывод дерева категорий, пагинация, добавление Bootstrap 5
- Оптимизация SQL запросов и установка Debug-Toolbar
- Профили пользователей: Модели и сигналы
- Профили пользователей: Представления и формы
- Работа с CreateView. Добавление записей пользователями
- Работа с UpdateView. Обновление записей пользователями
- Использование миксинов в работе с представлениями Django
- Доработки системы авторизации и регистрации
- Итоги работы
Проект «Сайт статей»: часть 2
Древовидные комментарии на AJAX, теги, reCAPTCHA, CKEditor, лайки, RSS, кеш, middleware и страницы ошибок.
- Создание древовидных комментариев
- Создание древовидных комментариев, добавление JavaScript
- Добавление функциональности тегирования
- Добавление ReCAPTCHA для форм
- Интеграция WYSIWYG-редактора, установка CKEditor
- Создание системы Like / Dislike
- Добавление RSS ленты для блога
- Кеширование и Middleware для получения статуса пользователей
- Настройка своих шаблонов для страниц ошибок 403, 404
- Итоги работы