тот отдаёт этот запрос серверу приложений, тот в свою очередь запускает WSGI сервер, которому передаются данные запроса
Нет, WSGI сервер запускается один раз.
в WSGI сервер есть обработчик, который обращается уже к самому веб-приложению
Нет, у WSGI сервера нет зависимостей от твоего приложения.
фреймворк получает ещё порции данных от WSGI сервера и переводит их в понятный для разработчика вид
Нет, фреймворк не получает ещё порций данных от WSGI сервреа, он получает ровно тоже самое что и приложение без фреймворка.
потом в приложении генерируется html страница, отдаётся WSGI серверу, тот отдаёт его обратно серверу приложений
Нет, WSGI серверу отдаются данные в формате определённом стандартом WSGI.
WSGI сервер это просто прослойка между "веб" сервером и питон приложением, которая позволяет не задумываться о выборе "веб" сервера и/или фреймворка, на котором будет написано приложение.
WSGI сервер запускается один раз, с натравливанием на специальный объект, определённый стандартом WSGI, этот объект написан разработчиком приложения, или разработчиком фреймворка, если используется фреймворк. (не всегда)
Когда с "веб" сервера приходит HTTP запрос, WSGI сервер обрабатывает этот запрос, разбирает его на структуру, определённую стандартом, и вызывает тот самый специальный объект, определённый стандартом WSGI, который делает вещи определённые стандартом WSGI, а именно - используя переданный в параметрах объект, отправляет WSGI серверу код HTTP ответа и заголовки ответа, после чего возвращает генератор, который будет возвращать тело ответа. WSGI сервер из всего этого дела варит HTTP ответ и возвращает его "веб" серверу.
Получать заголовки и тело можно как угодно - можно делать это используя фреймворк типо джанго/flask, или же просто читать из файла.
Просто прочти PEP:
https://www.python.org/dev/peps/pep-3333/#environ-...