Продвинутый Django 5 для продолжающих

В этом курсе углублённо рассматриваются вопросы разработки веб-приложений Django, подробно разберем ORM Django, с индексами базы данных PostgreSQL. Разработаем приложение через тестирование, создадим CRUD проект с HTMX, Веб-Чат с использованием Сhannels и WebSocket и познакомимся с Celery и Redis. Рассмотрим вопросы…
Средний уровень
5-6 часов в неделю
Часть
2 программ →
Сертификат Stepik

Чему вы научитесь

  • Работать с ORM Django, мета-классами.
  • Создавать абстрактные модели.
  • Работать с менеджерами моделей.
  • Познакомимся с индексами базы данных PostgreSQL.
  • Создадим проект, используя метод разработки через тестирование.
  • Разберём права доступа в Django на уровне пользователей и групп.
  • Создадим проект используя технологию HTMX.
  • Познакомимся с основами интернационализации и локализации проектов.
  • Создадим асинхронный веб-чат с использованием Сhannels и WebSocket.
  • Научимся выполнять асинхронные задания с помощью Celery и Redis.
  • Рассмотрим различные виды и уровни кеша в Django.
  • Работать с Docker

О курсе

Данный курс является продолжением курса «Django 5 для начинающих», в нём более углублённо рассматривается вопросы разработки веб-приложений Django 5 и специальные связанные с этим темы.

Раздел 1. «Основы GIT»

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

Раздел 2. «Django ORM на основе проекта»

Данный раздел объяснит работу Django ORM, объявление модели, запросы (менеджер, набор запросов), поддержку нескольких драйверов, написание пользовательских запросов, миграции и т. д. В нем будут рассмотрены связи один-к-одному, один-ко-многим и  многие-ко-многим, методы возвращающие QuerySet и не возвращающие, и поисковые поля. Так-же в данном разделе будет рассмотрены агрегатные функции и их группировка, Q-объекты и F-объекты, Мета-классы, абстрактные модели и пользовательские менеджеры моделей.

Раздел 3. «Индексы баз данных»

В этом разделе мы рассмотрим индексы в базе данных PostgreSQL, которые можно использовать для оптимизации наших запросов.

Раздел 4. «Разработка через тестирование»

В этом разделе рассматривается подход к разработке приложений через написание тестов, который даёт нам надежный способ планирования каждой функции, до написания её кода. Написание автоматизированных тестов для средних и крупных приложений имеет важное значение.

Раздел 5. «Разрешения в Django»

В этом разделе мы рассмотрим, как назначить права доступа пользователям и группам, чтобы разрешить им выполнять определенные действия.

Раздел 6. «HTMX на основе CRUD проекта»

В данном разделе, на примере, рассматривается использование библиотеки HTMX в CRUD проекте, для динамического изменения контента страницы, без её перезагрузки. Данная библиотека даст нам простой способ использования AJAX(Asynchronous Javascript and XML) для взаимодействия с сервером.

Раздел 7. «Интернационализация и локализация в Django»

Этот раздел познакомит с основами интернационализации и локализации проектов Django. В нём рассказывается как отмечать строковые литералы исходного кода и шаблонов для перевода, как генерировать и компилировать файлы переводов. Так-же будет рассмотрен процесс установки и использования приложения Rosetta в свой проект, чтобы управлять переводами через его веб-интерфейс. Кроме этого будет рассмотрен процесс локализации шаблонов URL-адресов, и будет рассмотрен селектор языка, позволяющий пользователям переключать язык сайта.

Раздел 8. «Создание чата на Django с использованием Сhannels и WebSocket»

В этом разделе рассматривается использование Django Сhannels и WebSocket на примере приложения чата.

Раздел 9. «Асинхронные задачи в Django + Сelery + Redis»

Данный раздел познакомит с Celery и объяснит, зачем и как использовать Celery для запуска асинхронной задачи.

Раздел 10. «Инфраструктура кэширования в Django»

Этот раздел посвящён вопросам кэширования в Django, в нём будут рассмотрены различные виды и уровни кэша. На примере будет рассмотрена настройка и использование кэш-сервера Memcached, и различные варианты кэширования. Так-же будет рассмотрена проверка запросов к кэшу с помощью Django Debug Toolbar.

Раздел 11. «Django + Docker»

В этом разделе мы рассмотрим основные концепции Docker и на примере создадим свой контейнер с Python проектов. Далее мы упакуем Django, PostgreSQL, Memcache, NGINX в контейнеры, настроим работу статических и медиа файлов и подготовим проект к деплою.

Раздел 12. «Деплой проекта через Docker»

В этом разделе мы рассмотрим деплой проекта Django, вместе с базой данных PostgreSQL, веб сервером Gunicorn и Nginx на контейнерах Docker с Compose.

Раздел 13. «Дополнительно»

В данном разделе содержится краткое описание различных плагинов Django, которые могут существенно упростить разработку и расширить функционал разрабатываемых сайтов.

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

Курс будет полезен для продолжающих свою веб-разработку в Django 5.

Начальные требования

Обладать хорошими практическими знаниями Python и иметь знания HTML, SQL. Знать фреймворк Django на начальном уровне.

Наши преподаватели

Как проходит обучение

Курс состоит из лекций по теории, и лекций по практическому созданию нескольких веб-проектов.

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

загружаем...
Certificate

Сертификат

Сертификат Stepik

Входит в 2 программы

  •    
     
     
  •    
     
     

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

  • Продвинутые навыки работы с Django 5
  • Несколько проектов в портфолио
  • Сертификат

Сколько стоит обучение

Price: 2 499 
Попробовать бесплатно
Вы попробовали и поняли, что вам сейчас не подходит этот курс? Ничего страшного, мы вернём вам деньги в течение 30-ти дней после покупки.

Часто задаваемые вопросы

Расскажите о курсе друзьям

Price: 2 499