Мы используем 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 г.

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

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

Комплект курсов «Gitlab CI/CD с нуля» и «Курс DevOps-инженер с нуля»
−18%
Комплект курсов «Gitlab CI/CD с нуля» и «Курс DevOps-инженер с нуля»

«Gitlab CI/CD с нуля»: Освой полный цикл CI/CD в GitLab — от первого коммита до production-пайплайна с автоматическим тестированием, SAST-анализом и деплоем. «DevOps-инженер с нул…

ОнлайнНачальный
36 140 ₽−18%
29 630 ₽Рассрочка на 12 мес.
Системный администратор
−53%21 сентября
Системный администратор

Курс Нетологии «Системный администратор». Научим использовать ИИ в работе. Docker, Kubernetes, Ansible и Terraform, 3 проекта, 62 задания и 37 вебинаров с экспертами.

Онлайн12 занятий
180 576 ₽−53%
84 400 ₽Скидка до 5 сентября
Python для инженеров
Python для инженеров

Разбираем библиотеки Python, решаем конкретные DevOps-задачи, разбираем правила эффективного и поддерживаемого кода.

Онлайн
45 000 ₽от 11 250 ₽/мес на 4 мес.
Сети, связи и системы коммуникаций - курс переподготовки
−17%256 часов
Сети, связи и системы коммуникаций - курс переподготовки

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

Онлайн10 занятий
Текстовые уроки
39 910 ₽−17%
32 980 ₽Скидка до 14 сентября
Начать без затрат

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

Docker с нуля
Бесплатно1 месяц
Docker с нуля

Бесплатный курс «Docker с нуля» познакомит со стандартами современной разработки. Подойдет не только новичкам, но и тем, кто уже работает в сфере разработки, тестирования и анализ…

Онлайн10 занятий
Домашние заданияИнтерактивные тренажёры+4
Бесплатно