Python-Template-Architecture
В этой самостоятельной работе тренируем умения:
Использовать паттерны page controller, front controller
Использовать шаблонизатор
Смысл:
Понимать и применять паттерны page и front controllers, понимать как устроены и работают wsgi фреймворки. Использовать шаблонизаторы Последовательность действий: 0. Создать репозиторий для нового проекта (gitlab, github, ...)
-
С помощью uwsgi или gunicorn запустить пример simple_wsgi.py, проверить что он работает (Эти библиотеки работают на linux системах, документацию по ним можно найти в дополнительных материалах)
-
Написать свой wsgi фреймворк использую паттерны page controller и front controller. Описание работы фреймворка:
возможность отвечать на get запросы пользователя (код ответа + html страница) для разных url - адресов отвечать разными страницами page controller - возможность без изменения фреймворка добавить view для обработки нового адреса front controller - возможность без изменения фреймворка вносить изменения в обработку всех запросов
-
Реализовать рендеринг страниц с помощью шаблонизатора jinja2. Документацию по этой библиотеке можно найти в дополнительных материалах
-
Добавить любый полезный функционал в фреймворк, например обработку наличия (отсутствия) слеша в конце адреса, ...
-
Добавить для демонстрации 2 любые разные страницы (например главная и about или любые другие)
-
Сдать дз в виде ссылки на репозиторий
-
В readme указать пример как запустить фреймворк с помощью uwsgi и/или gunicorn