Курс "Django 5 для начинающих"

Чему вы научитесь?
  • Работать с фреймворком Django
  • Понимать архитектуру MTV
  • Управлять URL
  • Создавать модели
  • Добавлять формы
  • Применять шаблоны Django
  • Подключать PostgreSQL в качестве БД
  • Работать с Django REST Framework и создавать API
При покупке через сайт действует скидка!

Цена курса: 1999р 1599р

Данный курс охватывает целый ряд тем разработки веб-приложений Django 5 на языке Python. Курс состоит из лекций по теории, тестов, практических заданий(задач) и лекций по практическому созданию веб-проекта. Шаг за шагом, мы будем совместно создавать и добавлять функциональность для него.

В курс входят:

  • 226 лекций
  • 108 тестов
  • 107 интерактивных задач

Раздел 1. «Введение в веб-разработку» В этом разделе рассказывается о базовых принципах работы сети Интернет, DNS и веб-серверов, об основных протоколах сети Интернет - TCP/IP, HTTP, HTTPS и методах GET, POST, PUT и DELETE. Затем раздел познакомит с языком разметки HTML. А далее идёт описание работы СУБД и SQL - языка структурированных запросов, так-же есть примеры основных SQL запросов для работы с БД.

Раздел 2. «Основы + HelloWorld на Django» В этом разделе рассказывается как написать самый простейший проект на Django в стиле HelloWorld. В нём подробно описывается структура проекта, миграции, настройки проекта, приложения и модели, работа с представлениями и адресами. Рассматривается работа с шаблонами и представлениями на основе классов(CBV, Class Based Views). Так-же раздел знакомит с тестированием приложений и написанием тестов для проверки корректной работы проекта.

Раздел 3. «Простой проект на Django с БД» В этом разделе рассказывается как создать простой проект с БД. В данном случае будет рассматриватся работа с SQLite. Раздел описывает создание модели базы данных, миграции моделей, создание и использование интерфейса администратора - админ-панели, работу с представлениями, моделями и URL. Так-же будет подробно рассмотрено тестирование данного проекта.

Раздел 4. «CRUD - проект» В этом разделе, при создании данного проекта, основной упор будет на работе с объектами модели данных при чтении, записи, редактировании и удалении записей. Будет рассмотрены два варианта работы: на основе функций и на основе классов.

Раздел 5. «Создание блога» Этот раздел более подробно ознакомит с веб-фреймворком Django посредством создания приложения для ведения блога. Вы создадите базовые модели, представления, шаблоны и URL-адреса блога, чтобы отображать посты блога на страницах. Вы научитесь формировать наборы запросов QuerySet с помощью объектно-реляционного преобразователя Django (ORM) и сконфигурируете встроенный в Django сайт администрирования.

Раздел 6. «Усовершенствование блога» Этот раздел научит добавлять в свой блог постраничную разбивку и реализовывать представления на основе классов Django. Вы научитесь отправлять электронные письма с помощью Django, а также обрабатывать и моделировать формы. Вы также реализуете систему комментариев к постам блога. Также, в этом разделе вы ознакомитесь с процессом создания системы тегирования и научитесь формировать сложные наборы запросов QuerySet, чтобы рекомендовать схожие посты. Здесь вы научитесь создавать собственные шаблонные теги и фильтры. Вы также узнаете, как использовать фреймворк для создания карты веб-сайта. Вы завершите свое приложение для ведения блога переносом БД с SQLite на PostgreSQL, и разработаете поисковый механизм, в котором используются возможности полнотекстового поиска PostgreSQL.

Раздел 7. «Усовершенствование блога. Часть 2.» В этом разделе мы рассмотрим встроенную пользовательскую модель Django на основе django.contrib.auth, её поля. Создадим новое приложение для пользователей, в котором настроим все необходимые функции, такие как авторизация, регистрация, восстановление пароля и использование сессий. В дальнейшем мы его доработаем, добавив новые поля и профили для пользователей. Разработаем механизм создания и обновление профилей через использование сигналов в Django. После этого у пользователей появится возможность загружать аватары и писать информацию "О себе". Установим и настроим возможность авторизации пользователей через социальные сети(GoogleGitHub) посредством OAuth 2.0. Также переделаем дизайн с использованием фреймворка Bootstrap 5.

Раздел 8. «Создание API с помощью Django REST Framework» В этом разделе вы научитесь применять фреймворк, чтобы разработать RESTful API к своему проекту. Мы создадим сериализаторы и представления для моделей, а также разработаем конкретно-прикладные представления API. Мы также добавим аутентификацию в свой API, фильтры, пагинацию и ограничим доступ к представлениям API с помощью разрешений. Наконец, мы добавим схему и документацию, ведь это является жизненно важной частью любого API.

Раздел 9. «Деплой проекта» Последним шагом любого проекта является развертывание. Мы установим виртуальное окружение, сервер приложений Gunicorn и Django. Перенесём файлы проекта на сервер, создадим список зависимостей и установим его. Настроим Django для работы в производственной среде, создадим статические файлы проекта. Установим и настроим веб-сервер NGINX и БД PostgreSQL и перенесём БД с локального компьютера на сервер. И в завершении получим сертификат от Let's Encrypt и настроим HTTPS в NGINX.

Раздел 10. «Создание блога 2.0» В этом модуле мы создадим с вами блог, но уже создавая только представления на основе классов. Мы рассмотрим все основные классы - ListView, DetailView, CreateView, UpdateView, DeleteView. А также добавим в него новый функционал, такой как древовидные категории, систему лайков и дизлайков, рассмотрим миксины, создадим древовидные комментарии, добавим ReCAPTCHA для форм. Установим Debug-Toolbar и оптимизируем SQL запросы и настроим шаблоны страниц ошибок.

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

Введение в веб-разработку

  • Как работает интернет и веб-сайты?
  • Краткий конспект по HTML
  • Кратко о SQL

Основы + HelloWorld на Django

  • Что такое Django
  • Основные принципы MVC
  • Установка Django и создание проекта HelloWorld
  • Диспетчер URL, часть 1.
  • Диспетчер URL, часть 2.
  • Шаблоны, часть 1.
  • Шаблоны, часть 2.
  • Введение в тестирование приложений

Простой проект на Django с БД

  • Создание проекта, первые модели и админ-панель
  • Модели в Django и их поля
  • Первые ORM запросы (CRUD)
  • Организация связей между таблицами
  • Django ORM, методы возвращающие QuerySet
  • Django ORM, методы которые не возвращают QuerySet
  • Django ORM, поисковые поля и агрегатные функции
  • Views/Templates/URLs

CRUD - проект

  • Формы в Django
  • CRUD проект

Создание блога

  • Создание проекта и приложения
  • Создание моделей данных блога
  • Сайт администрирования
  • Работа с наборами запросов QuerySet и менеджерами
  • Разработка представлений списка и детальной информации
  • Создание шаблонов представлений
  • Работа с URL
  • Добавление постраничной разбивки
  • Разработка представлений на основе классов
  • Рекомендация постов по электронной почте
  • Создание системы комментариев
  • Добавление функциональности тегирования
  • Извлечение постов по сходству
  • Реализация конкретно-прикладных шаблонных тегов и фильтров
  • Добавление карты сайта
  • Установка базы данных PostgreSQL
  • Добавление полнотекстового поиска в блог
  • Введение в пользовательскую систему Django
  • Использование системы аутентификации Django
  • Доработки системы авторизации и регистрации, добавление сессий
  • Профили пользователей и пользовательские поля модели User
  • Авторизация через социальные сети посредством OAuth 2.0
  • Улучшаем дизайн блога с использованием Bootstrap 5

Создание API с помощью Django REST Framework

  • Введение в REST API
  • Django REST Framework на примере блога
  • Сериализаторы
  • Представления
  • Фильтрация, поиск
  • Пагинация
  • Права доступа и токены в DRF
  • Схемы и документация

Деплой проекта

  • Покупка VPS, доменного имени, привязка DNS и настройка по SSH.
  • Установка виртуального окружения, Gunicorn и списка зависимостей
  • Установка PostgreSQL, настройка и перенос БД
  • Установка и настройка NGINX
  • Получение SSL сертификата от Let's Encrypt и настройка HTTPS

Создание блога 2.0

  • Начало работы, создание модели статей
  • Создание древовидной модели категорий
  • Работа с ListView, вывод списка статей
  • Работа с DetailView, форматирование и обработка кириллицы в Slug
  • Вывод дерева категорий, пагинация, добавление Bootstrap 5
  • Оптимизация SQL запросов и установка Debug-Toolbar
  • Профили пользователей: Модели и сигналы
  • Профили пользователей: Представления и формы.
  • Работа с CreateView. Добавление записей пользователями.
  • Работа с UpdateView. Обновление записей пользователями.
  • Использование миксинов в работе с представлениями Django
  • Доработки системы авторизации и регистрации
  • Создание древовидных комментариев
  • Создание древовидных комментариев, добавление JavaScript
  • Добавление функциональности тегирования
  • Добавление ReCAPTCHA для форм
  • Установка CKEditor 5
  • Создание системы Like / Dislike
  • Добавление RSS ленты для блога
  • Применение кеша и Middleware для получения статуса пользователей
  • Настройка своих шаблонов для страниц ошибок 403, 404

При покупке через сайт действует скидка!