Описание курса:
Django - свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MTV. Проект поддерживается организацией Django Software Foundation. Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений. Для работы с базой данных Django использует собственный ORM, в котором модель данных описывается классами Python, и по ней генерируется схема базы данных.
Цель курса:
Научиться работать с готовой HTML/CSS версткой, создавать веб приложения любой сложности начиная от простого блока и заканчивая интернет магазином, научиться аутентифицировать и регистрировать пользователей, управлять содержимым сайта. Создавать высоконагруженные сайты и приложения на фреймворке Django.
Требование для слушателей:
- свободное владение основами языка Python;
- умение работать с шаблонизатором Jinja2;
- знание основ базы данных и умение писать простые SQL запросы;
- умение развертывать любую из реляционныx баз данных (postgresql, mariadb, mysql);
- знание основ HTML и CSS;
- преимуществом будет умение работать с аналогичными фраимворками.
- выполнять все домашнее задания;
- искать дополнительную информацию в документации.
Программа курса
- введение в веб программирование;
- шаблонизатор Jinja2;
- введение в Django;
- паттерны проектирования, MTV;
- проектирование моделей;
- панель администратора;
- основы Django ORM;
- маршрутизация запросов (urls);
- обработка запросов, HTTP ответ;
- шаблоны (работа с готовой HTML версткой);
- контроллеры-функции (Function based view);
- контроллеры-классы (Classed based view);
- аутентификация и авторизация пользователей;
- избранные товары/статьи на сайте;
- рекомендуемые товары/статьи на сайте;
- комментарий к статьям/товарам на сайте;
- подключение корзины и платёжные системы;
- фильтрация/сортировка/поиск/пагинация на сайте;
- Email – рассылщик;
- реализация мультиязычного сайта;
- введение в Django REST framework;
- настройка аутентификации JWT;
- установка и настройка Swagger;
- настройка кеширования;
- выполнение фоновых задач;
- выполнение задач по расписанию;
- запуск проекта на продакшн сервере под управлением ОС Linux.