Модуль 1. Знакомство с Django
• Развертывание проекта
• Подключение стандартных приложений FlatPage
• Установка и настройка дополнительных модулей CKEditor в админке
• Верстка базового шаблона Bootstrap
Модуль 2. Реляционные базы данных, проектирование базы данных
• Получение четкого представления о базах данных, их месте в современном мире, их значимости для компаний самого разного масштаба, сферах применения БД. Знание компонентов БД, Понимание как работать с информацией в БД
• Умение проектировать БД, моделировать объекты реального мира для представления их в БД, моделировать свойства этих объектов и связи между ними.
• Знание конкретного ПО и умение работать с ним — системы управления базами данных (СУБД), которое позволяет создавать БД и работать с ними.
Модуль 3. Язык SQL
• Знакомство с языком SQL, умение создавать базы данных на основе спроектированной модели данных, изменять и удалять объекты БД, манипулировать данными
Модуль 4. Объекты, запросы, программирование в СУБД
• Подготовленные запросы, параметры;
• Объекты БД: последовательности, индексы, представления, пользовательские функции и некоторые другие;
• Концепция программирования на уровне СУБД: преимущества и недостатки;
• Использование триггеров, хранимых процедур и функций;
• Расширения СУБД для выполнения различных задач: временные ряды, пространственные вычисления и пр.
Модуль 5. Модели
• Проектирование схемы БД таблицы и связи +
• Создание моделей данных + миграции
Модуль 6. Представления и шаблоны
• Настройка представлений просмотра generics DetailView ListView
• Верстка шаблонов Bootstrap
Модуль 7. Фильтры и формы
• Фильтрация и пагинация DjangoFilter
• Формы
Модуль 8. Создание контента и авторизация
• Создание страниц добавления и редактирования CreateView, UpdateView
• Авторизация и регистрация django-allauth
Модуль 9. Работа с почтой и выполнение задач по расписанию
• Подтверждение email по почте отправка писем
• Выполнение задач по расписанию (cron)
• Создание списка рассылок
Модуль 10. Работа с асинхронными задачами через celery
• Принципы работы синхронного и асинхронного взаимодействия компонентов приложения;
• Знакомство с Celery, с разными брокерами сообщений;
• Связывание Celery, Redis и Django в единую систему;
• Добавление задачи в очередь;
• Составление расписания задач.
Модуль 11. Кэширование
• Знакомство с кэшированием, умение применять его в проекте для оптимизации отдельных страниц, частей шаблона и приложения в целом
Модуль 12. Качество кода
• Тестирование
• Статическая проверка кода flake8
• Документирование кода
• Аннотация типов, зачем это нужно
Модуль 13. Безопасность
• Веб-безопасность, Распространенные угрозы, Методы защиты, Защита от угроз в Django
Модуль 14. Управляющие команды и настройка админки
• Какие управляющие команды существуют, Команды для работы с данными, Создание собственных управляющих команд, Продвинутая работа с админкой
Модуль 15. Работа с PostgreSQL
• Подключение PostgreSQL, Использование полей JSONField и ArrayField, Поиск текста по сайту, Использование представлений
Модуль 16. Продвинутые возможности работы с Django
• Создание собственных тэгов и фильтров в шаблонах, Изучение работы middleware и создание собственного, Логирование, Что такое SEO и почему сегодня это важно, HTML блоки для SEO, Генерация sitemap.xml и добавление robots.txt
Модуль 17 Локализация и интернационализация
• Включение поддержки разных языков и языковых настроек, Создание файла-перевода и генерация бинарного перевода, Локализация контента, Временные зоны
Модуль 18. REST архитектура
• Взаимодействие программ через API, Что такое REST архитектура, Проектирование REST API, OpenAPI, Установка и первоначальная настройка Django Rest Framework (DRF), Cоздание CRUD API методов, Фильтрация и пагинация ресурсов, Авторизованный доступ
Модуль 19. Проект на Django "Доска объявлений"
• Проектирование моделей для проекта, Создание представлений и шаблонов, Регистрация и авторизация пользователей, Работа с объявлениями, Работа с уведомлениями