Подробнее
Что нужно для старта
- Знание базовых основ языка Python (для их изучения пройдите курс "Добрый, добрый Python", ссылка: https://stepik.org/course/100707/), ООП языка Python (курс "Добрый, добрый Python ООП", ссылка: https://stepik.org/116336).
Что вы получите
- Познакомитесь с шаблонизатором фреймворка Django
- Научитесь применять ORM-команды для взаимодействия с БД
- Узнаете о возможностях настройки админ-панели
- Научитесь работать с формами
- Изучите классы представлений
- Познакомитесь с процессом регистрации и авторизации пользователей на сайте
- Научитесь делать авторизацию через социальные сети
- Познакомитесь с БД PostgreSQL и ее привязкой к проекту сайта
- Узнаете о возможностях использования капчи, применения хранилища Redis, кэширования страниц и создания карты сайта
- Изучите основы тестирования проекта с помощью модуля unittest
- Выполните деплой (развертывание) сайта на реальном сервере
- Познакомитесь с Docker и научитесь разворачивать сайты на сервере с его помощью
Для кого этот курс
- Этот курс посвящается всем, кто только делает первые шаги в сайтостроении и всем тем, кто хочет повысить свои навыки при разработке бэкенда сайтов.
Программа курса
- Что такое Django. Инструментальные средства
- Установка Django. Создание проекта
- Модель MTV. Добавление приложения
- Маршрутизация и функции представления
- Отладка проекта Django в PyCharm
- Динамические URL. Пользовательские конвертеры
- GET и POST-запросы. Обработчики исключений запросов
- Перенаправления (redirect). Функция reverse
- Введение в шаблоны (Django Template Language, DTL)
- Передача данных (переменных) в шаблоны
- Стандартные шаблонные фильтры
- Теги шаблонов. Теги if и for
- Шаблонный тег url
- Наследование шаблонов. Тег include
- Подключение статических файлов
- Пользовательские теги шаблонов
- Что такое БД, SQL и ORM
- Создание и запуск файлов миграций
- Понятие CRUD. Добавление записей в таблицу БД
- Методы выбора записей из таблиц
- Сортировка, изменение и удаление записей
- Слаги (slug) в URL-адресах. Метод get_absolute_url()
- Создание пользовательского менеджера модели
- Типы связей между моделями
- Создание связи many-to-one (многие к одному)
- ORM-команды для связи many-to-one
- Отображение постов по рубрикам
- Добавляем связь many-to-many (многие ко многим)
- Добавление тегов на сайт
- Связь one-to-one (один к одному)
- ORM-команды с классом Q
- Методы выбора записей. Методы exists() и count()
- Класс F, Value и метод annotate()
- Агрегирующие функции. Метод values()
- Группировка и агрегирование. Вычисления на стороне СУБД
- Оптимизация сайта с Django Debug Toolbar
- Подключение админ-панели. Регистрация моделей
- Настройка отображения списка статей
- Пользовательские поля и действия в админ-панели
- Панель поиска и панель фильтрации
- Настройка формы редактирования записей
- Настраиваем внешний вид админ-панели
- Что такое HTML-формы. Отправка данных по GET и POST-запросам
- Использование форм не связанных с моделями
- Отображение полей формы. Сохранение переданных данных в БД
- Валидация полей формы
- Формы связанные с моделями
- Загрузка (upload) файлов на сервер. Классы FileField, ImageField
- Загрузка файлов с использованием классов моделей
- Отображение изображений в HTML-документе и админ-панели
- Введение в CBV (Class Based Views). Классы View и TemplateView
- Класс ListView
- Класс DetailView
- Класс FormView
- Классы CreateView и UpdateView
- Mixins как способ улучшения программного кода
- Введение в пагинацию. Класс Paginator
- Пагинация с классом ListView
- Введение в авторизацию пользователей
- Авторизация пользователей. Функции authenticate() и login()
- Шаблонные контекстные процессоры
- Классы LoginView, LogoutView и AuthenticationForm
- Декоратор login_required и класс LoginRequiredMixin
- Регистрация пользователей через функции представления
- Класс UserCreationForm
- Авторизация через email. Профиль пользователя
- Классы PasswordChangeView и PasswordChangeDoneView
- Восстановление пароля. Идея алгоритма
- Реализация алгоритма восстановления пароля
- Настройка почтового сервера по SMTP-протоколу
- Расширение модели User. Класс AbstractUser
- Разрешения и группы (Permissions & Groups)
- Протокол OAuth 2.0. Установка пакета Python-Social-Auth
- GitHub-аутентификация
- Добавляем поддержку https протокола и домен sitewomen.ru
- Авторизация через ВКонтакте
- Работа с Django Fixtures
- Подключаем PostgreSQL к проекту
- Использование капчи (Captcha)
- Установка Redis для кэширования данных
- Кэширование страниц сайта
- Добавление карты сайта (sitemap)
- Первые тесты с Django unittest
- Использование БД в unittest фреймворка Django
- Тестирование формы регистрации
- Аренда сервера и домена на Beget
- Установка необходимого ПО
- Настройка Nginx для отображения страниц сайта
- Переход на https протокол
- Что такое Docker?
- Установка Docker Desktop на локальный компьютер
- Базовые команды работы с образами и контейнерами
- Dockerfile. Создание образов
- Особенности создания образов и запуска контейнеров
- Углубляемся в команды Docker
- Работа с портами внутренней сети Docker
- Работа с томами (volumes)
- Создание микросервисных проектов
- Знакомство с Docker Compose
- Проект Django с PostgreSQL и Nginx
- Деплой сайта на сервер с помощью Docker
01Установка Django и создание проекта
- Что такое Django. Инструментальные средства
- Установка Django. Создание проекта
- Модель MTV. Добавление приложения
- Маршрутизация и функции представления
- Отладка проекта Django в PyCharm
- Динамические URL. Пользовательские конвертеры
- GET и POST-запросы. Обработчики исключений запросов
- Перенаправления (redirect). Функция reverse
02Шаблоны
- Введение в шаблоны (Django Template Language, DTL)
- Передача данных (переменных) в шаблоны
- Стандартные шаблонные фильтры
- Теги шаблонов. Теги if и for
- Шаблонный тег url
- Наследование шаблонов. Тег include
- Подключение статических файлов
- Пользовательские теги шаблонов
03Введение в ORM и модели
- Что такое БД, SQL и ORM
- Создание и запуск файлов миграций
- Понятие CRUD. Добавление записей в таблицу БД
- Методы выбора записей из таблиц
- Сортировка, изменение и удаление записей
- Слаги (slug) в URL-адресах. Метод get_absolute_url()
- Создание пользовательского менеджера модели
04Связи между таблицами
- Типы связей между моделями
- Создание связи many-to-one (многие к одному)
- ORM-команды для связи many-to-one
- Отображение постов по рубрикам
- Добавляем связь many-to-many (многие ко многим)
- Добавление тегов на сайт
- Связь one-to-one (один к одному)
05Погружение в ORM Django
- ORM-команды с классом Q
- Методы выбора записей. Методы exists() и count()
- Класс F, Value и метод annotate()
- Агрегирующие функции. Метод values()
- Группировка и агрегирование. Вычисления на стороне СУБД
- Оптимизация сайта с Django Debug Toolbar
06Работа с админ-панелью
- Подключение админ-панели. Регистрация моделей
- Настройка отображения списка статей
- Пользовательские поля и действия в админ-панели
- Панель поиска и панель фильтрации
- Настройка формы редактирования записей
- Настраиваем внешний вид админ-панели
07Работа с формами
- Что такое HTML-формы. Отправка данных по GET и POST-запросам
- Использование форм не связанных с моделями
- Отображение полей формы. Сохранение переданных данных в БД
- Валидация полей формы
- Формы связанные с моделями
- Загрузка (upload) файлов на сервер. Классы FileField, ImageField
- Загрузка файлов с использованием классов моделей
- Отображение изображений в HTML-документе и админ-панели
08Классы представлений
- Введение в CBV (Class Based Views). Классы View и TemplateView
- Класс ListView
- Класс DetailView
- Класс FormView
- Классы CreateView и UpdateView
- Mixins как способ улучшения программного кода
- Введение в пагинацию. Класс Paginator
- Пагинация с классом ListView
09Авторизация и регистрация
- Введение в авторизацию пользователей
- Авторизация пользователей. Функции authenticate() и login()
- Шаблонные контекстные процессоры
- Классы LoginView, LogoutView и AuthenticationForm
- Декоратор login_required и класс LoginRequiredMixin
- Регистрация пользователей через функции представления
- Класс UserCreationForm
- Авторизация через email. Профиль пользователя
- Классы PasswordChangeView и PasswordChangeDoneView
- Восстановление пароля. Идея алгоритма
- Реализация алгоритма восстановления пароля
- Настройка почтового сервера по SMTP-протоколу
- Расширение модели User. Класс AbstractUser
- Разрешения и группы (Permissions & Groups)
10OAuth 2.0 - социальная аутентификация
- Протокол OAuth 2.0. Установка пакета Python-Social-Auth
- GitHub-аутентификация
- Добавляем поддержку https протокола и домен sitewomen.ru
- Авторизация через ВКонтакте
11PostgreSQL и другие улучшения
- Работа с Django Fixtures
- Подключаем PostgreSQL к проекту
- Использование капчи (Captcha)
- Установка Redis для кэширования данных
- Кэширование страниц сайта
- Добавление карты сайта (sitemap)
12Основы тестирования с unittest
- Первые тесты с Django unittest
- Использование БД в unittest фреймворка Django
- Тестирование формы регистрации
13Деплой проекта на сервер (без docker)
- Аренда сервера и домена на Beget
- Установка необходимого ПО
- Настройка Nginx для отображения страниц сайта
- Переход на https протокол
14Основы Docker
- Что такое Docker?
- Установка Docker Desktop на локальный компьютер
- Базовые команды работы с образами и контейнерами
- Dockerfile. Создание образов
- Особенности создания образов и запуска контейнеров
- Углубляемся в команды Docker
- Работа с портами внутренней сети Docker
- Работа с томами (volumes)
- Создание микросервисных проектов
- Знакомство с Docker Compose
- Проект Django с PostgreSQL и Nginx
- Деплой сайта на сервер с помощью Docker
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Добрый, добрый Django + Docker с Сергеем Балакиревым» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 3 сентября 2026 г.

Stepik 















