Как добавить промежуточное программное обеспечение в среду веб-приложений Appengine?
-
20-08-2019 - |
Решение
Это просто:Вы создаете приложение WSGI как обычно, затем перед его выполнением помещаете это приложение в промежуточное программное обеспечение WSGI.
Видеть этот код из Bloog, чтобы узнать, как firepython добавляется в качестве промежуточного программного обеспечения.
Другие советы
Платформа веб-приложений GAE не сопоставляется один к одному с платформой Django.Было бы сложно сделать то, что вы хотите, не реализовав какой-либо адаптер самостоятельно, я не знаю каких-либо сторонних адаптеров-обработчиков, способных сделать это.
Тем не менее, я обычно использую app-engine-patch, чтобы иметь возможность использовать последнюю версию Django 1.0.2 с AppEngine, а затем вы можете просто включить промежуточное программное обеспечение Django обычным способом в файл setup.py.Если вам нужно, вы, вероятно, могли бы просмотреть адаптер app-engine-patch, чтобы увидеть, как они это делают, и начать с него как с фреймворка.
«Промежуточное программное обеспечение» в понимании Django — это своего рода процессор запросов/ответов, сильно отличающийся от того, что WSGI называет «промежуточным программным обеспечением».Думать:промежуточное программное обеспечение, подобное Джанго, добавит session
атрибут для запроса объекта на основе того, что вставил Beaker (промежуточное программное обеспечение WSGI) environ['beaker.session']
.Хотя добавление промежуточного программного обеспечения WSGI в стек должно быть простым (вы уже работаете на уровне WSGI в своем main.py
), добавление процессора запросов/ответов зависит от того, как запрос и ответ абстрагируются от WSGI.
Как это можно сделать с помощью Веркцойг (который является базовым набором инструментов WSGI) описан в Вики Werkzeug и в одном из своих дополнительные модули.