Учеников: 3
Последнее обновление курса: 24.03.2025

Создаем фреймворк – упрощенный аналог Django

Фреймворки - незаменимые инструменты создания качественных веб-приложений. Изучите принципы построения и функционирования популярных фреймворков.

Автор курса: Дмитрий Читалов

python-icon

Создаем фреймворк – упрощенный аналог Django

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

Зачем это нужно?

Создание фреймворка требует глубокого понимания принципов работы веб-приложений и архитектуры.

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

На курсе:

Последовательно проходя урок за уроком, вы создадите основу фреймворка, дополните его обработчиками GET- и POST-запросов, декораторами-маршрутизаторами, встроенными классами-контроллерами, шаблонизатором, собственной ORM.

Вы настроите возможность работы с наследованием шаблонов и подшаблонами. Ваш фреймворк станет похожим на Django или Flask. Вы сможете самостоятельно выбрать вариант.

Вы поймете как изнутри устроены фреймворки и как они обеспечивают разработку веб-приложений. Вы пройдете путь от автора фреймворка до автора веб-приложения.

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

Остались вопросы? Задайте их преподавателю – https://t.me/cdi999

Содержание курса

Создаем основу фреймворка и начальный функционал веб-приложения
1.1. Введение
1.2. Как работают wsgi-фреймворки
1.3. Как создать свой wsgi-фреймворк
1.4. Как реализовать связку маршрутов и обработчиков
1.5. Как настроить простейшую шаблонизацию
1.6. Как реализовать запуск проекта
1.7. Заключение
1.8. Материалы
Учим фреймворк обрабатывать GET- и POST-запросы
2.1. Введение
2.2. Как Разделить Get- И Post-Запросы
2.3. Обработка Get-Запроса
2.4. Обработка Post-Запроса
2.5. Заключение
2.6. Материалы
Учим фреймворк работать с наследованием шаблонов и подшаблонами
3.1. Введение
3.2. Как реализовать наследование шаблонов и подключение подшаблонов
3.3. Немного о языке шаблонов
3.4. Заключение
3.5. Материалы
Учим фреймворк работать с моделями сущностей
4.1. Введение
4.2. Что такое классы сущностей и для чего они нужны
4.3. Как создать контроллеры для работы с моделями
4.4. Добавляем привязку к маршрутам и добавляем шаблоны
4.5. Запуск приложения
4.6. Заключение
4.7. Материалы
Учим фреймворк выполнять привязку URL-шаблонов к обработчикам
5.1. Введение
5.2. Что такое маршрутизация
5.3. Как реализовать маршрутизацию через декоратор
5.4. Проверка работы приложения
5.5. Заключение
5.6. Материалы
Реализуем во фреймворке возможность написания обработчиков по CBV-подходу
6.1. Введение
6.2. Что такое встроенные классы-контроллеры (CBV)
6.3. Реализуем первый собственный встроенный класс-обработчик
6.4. Применяем первый собственный встроенный класс-обработчик
6.5. Реализуем второй собственный встроенный класс-обработчик
6.6. Применяем второй собственный встроенный класс-обработчик
6.7. Дополняем проект необходимыми шаблонами
6.8. Проверяем работу проекта
6.9. Заключение
6.10. Материалы
Реализуем во фреймворке упрощенную ORM
7.1. Введение
7.2. Что такое ORM-подход
7.3. Реализуем класс-посредник для ORM
7.4. Реализуем класс-реестр для ORM
7.5. Реализуем необходимую структуру базы данных
7.6. Реализуем класс для имодействия с базой данных
7.7. Проверка запуска приложения
7.8. Заключение
7.9. Материалы
Подключаем статику
8.1. Введение
8.2. Что такое статика
8.3. Дорабатываем шаблонизатор
8.4. Дорабатываем фреймворк
8.5. Настраиваем файл settings.py
8.6. Подключаем статику и проверяем работу
8.7. Заключение
8.8. Материалы
Создаем универсальный маппер
9.1. Введение
9.2. Для чего нужен универсальный маппер
9.3. Создаем универсальный маппер
9.4. Метод получения записи по идентификатору
9.5. Метод добавления записи в таблицу
9.6. Метод изменения записи в таблице
9.7. Метод удаления записи в таблице
9.8. Создаем мапперы классов-моделей
9.9. Дорабатываем классы-модели
9.10. Дорабатываем контроллеры для управления категориями
9.11. Дорабатываем контроллеры для управления студентами
9.12. Дополняем скрипт для создания таблиц базы данных
9.13. Проверяем работу приложения
9.14. Заключение
9.15. Материалы
Подключаем статику стандартными средствами, выводим локацию
10.1. Введение
10.2. О библиотеке WSGI_STATIC_MIDDLEWARE
10.3. Дорабатываем код фреймворка
10.4. Подключаем статику
10.5. Устраняем ошибки
10.6. Выводим информацию о локации пользователя
10.7. Заключение
10.8. Материалы
Оптимизируем обработку запросов
11.1. Введение
11.2. Реализуем общий класс-парсер и дорабатываем получение параметров запроса
11.3. Подключаем классы-обработчики к проекту
11.4. Проверяем работу проекта
11.5. Материалы
Реализуем передачу параметров через URL-адрес
12.1. Введение
12.2. Дорабатываем код модуля main.py
12.3. Добавляем модуль routing.py
12.4. Разбираем код метода routes_process. часть 1
12.5. Разбираем код метода routes_process. часть 2
12.6. Разбираем код метода get_view
12.7. Создаем тестовый контроллер
12.8. Проверяем работу проекта
12.9. Заключение
12.10. Материалы
Выполняем развертывание проекта
13.1. Введение
13.2. Создаем файл requirements.txt
13.3. Загружаем приложение на github. часть 1
13.4. Загружаем приложение на github. часть 2
13.5. Какой сервис хостинга выбрать
13.6. Регистрируемся на render.com
13.7. Создаем приложение на Render
13.8. Заключение
13.9. Материалы

Преподаватель:

Дмитрий Читалов

Python-разработчик с 2014 года. Опыт преподавания - 7 лет. За время работы провел более 250 вебинарных потоков, обучил несколько тысяч студентов.

5990 ₽

-2000 ₽

3990 ₽

Доступ: навсегда.

  • Подходит для
    начинающих
  • Нагрузка в день:
    1 ч. в день
  • Стек курса:
    Python
  • Курс от эксперта.

5990 ₽

-2000 ₽

3990 ₽