Мы используем cookie для стабильной работы сервиса. Подробнее

Добрый, добрый Django + Docker с Сергеем Балакиревым

ФорматОнлайн
Объём14 занятий
О курсе

Подробнее

Дорогие друзья! Перед вами открывается захватывающий мир фреймворка Django, мир автоматизации создания серверной части сайта (бэкенда). В процессе прохождения этого курса, вы с нуля, шаг за шагом познакомитесь с основными компонентами этого фреймворка и построите на их основе свое целостное серверное решение для полноценной работы информационного сайта. Но для чего вообще нужен фреймворк Django? Зачем тратить время на его изучение? Дело в том, что даже при разработке простых сайтов приходится каждый раз разрабатывать однотипные программные модули, например, для обработки и отправки клиенту HTML-страниц, взаимодействия с БД, создания админ-панели, регистрации и авторизации пользователей и тому подобное. Так вот чтобы снова и снова не делать эти однотипные операции и автоматизировать стандартные алгоритмы работы серверной части сайтов, как раз и было придумано множество фреймворков для самых разных языков программирования, которые заметно ускоряют процесс разработки сайтов. И лидером для языка Python, на сегодняшний день, является фреймворк Django. Разработчики сервисов Youtube, Google Serach, Dropbox уже давно используют его, как надежное, простое и быстрое средство обеспечения бесперебойной работы своих сайтов. И это открытый, доступный инструмент. Теперь каждый имеет возможность относительно просто строить профессиональные сайты любой сложности. Осталась самая малость – изучить фреймворк Django! Телеграм-канал: https://t.me/selfedu_sb Телеграм-чат: https://t.me/django_selfedu
Требования

Что нужно для старта

  • Знание базовых основ языка Python (для их изучения пройдите курс "Добрый, добрый Python", ссылка: https://stepik.org/course/100707/), ООП языка Python (курс "Добрый, добрый Python ООП", ссылка: https://stepik.org/116336).
Результат

Что вы получите

  • Познакомитесь с шаблонизатором фреймворка Django
  • Научитесь применять ORM-команды для взаимодействия с БД
  • Узнаете о возможностях настройки админ-панели
  • Научитесь работать с формами
  • Изучите классы представлений
  • Познакомитесь с процессом регистрации и авторизации пользователей на сайте
  • Научитесь делать авторизацию через социальные сети
  • Познакомитесь с БД PostgreSQL и ее привязкой к проекту сайта
  • Узнаете о возможностях использования капчи, применения хранилища Redis, кэширования страниц и создания карты сайта
  • Изучите основы тестирования проекта с помощью модуля unittest
  • Выполните деплой (развертывание) сайта на реальном сервере
  • Познакомитесь с Docker и научитесь разворачивать сайты на сервере с его помощью
Аудитория

Для кого этот курс

  • Этот курс посвящается всем, кто только делает первые шаги в сайтостроении и всем тем, кто хочет повысить свои навыки при разработке бэкенда сайтов.
Содержание

Программа курса

14 занятий
№ТемаЧто внутри
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

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

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Добрый, добрый Django + Docker с Сергеем Балакиревым» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

Похожие курсы

Kubernetes. Продвинутый уровень. + ИИ-инструменты
−10%13 октября
Kubernetes. Продвинутый уровень. + ИИ-инструменты

Мастерство в архитектуре, сетевых ресурсах, безопасности и GitOps. Практика и теория для экспертов. Курс "Kubernetes - продвинутый уровень" предназначен для специалистов, желающих…

Онлайн7 занятийПродвинутый
Практические занятия
59 900 ₽−10%
53 910 ₽
Сети, связи и системы коммуникаций - курс переподготовки
−17%256 часов
Сети, связи и системы коммуникаций - курс переподготовки

«АПОК» приглашает пройти по сетям, связям и системам коммуникаций профессиональную переподготовку через интернет. Наш учебный центр проводит курсы дистанционно, что позволяет слуш…

Онлайн10 занятий
Текстовые уроки
39 910 ₽−17%
32 980 ₽Скидка до 26 октября
Структурированные кабельные системы - переподготовка
−40%2 месяца
Структурированные кабельные системы - переподготовка

Курс профессиональной переподготовки «Структурированные кабельные системы» по всей России. ✓ Дистанционное обучение ✓ Получение диплома с бесплатной доставкой ✓ Цена 32 980 руб.

Онлайн4 занятий
Текстовые уроки
54 980 ₽−40%
32 980 ₽
Начать без затрат

Бесплатные курсы

DevOps. Уровень 1. Инфраструктура как код, основные инструменты
Бесплатно
DevOps. Уровень 1. Инфраструктура как код, основные инструменты

Курс «DevOps. Уровень 1. Инфраструктура как код, основные инструменты»: онлайн и очное офлайн обучение в Москве в Бауманском учебном центре «Специалист». Стоимость обучения. Прогр…

Онлайн
Бесплатно
Специалист по техническому обслуживанию и ремонту персональных компьютеров
Бесплатно
Специалист по техническому обслуживанию и ремонту персональных компьютеров

По окончании курса системный блок Вашего компьютера больше не будет для Вас таинственным ящиком. На курсе Вы приобретете навыки профессионального технического специалиста по ремон…

Онлайн6 занятий
Бесплатно