Чему вы научитесь
- Работать с 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 на начальном уровне.
Наши преподаватели
Как проходит обучение
Курс состоит из лекций по теории, и лекций по практическому созданию нескольких веб-проектов.
Программа курса
Сертификат
Входит в 2 программы
Что вы получаете
- Продвинутые навыки работы с Django 5
- Несколько проектов в портфолио
- Сертификат