Форум сайта python.su
Читаю про werkzeug. Чтобы запустить под wsgi+werkzeug свой скрипт нашёл такое решение:
from werkzeug import Request, Response
def application(environ, start_response):
response = Response(main( Request(environ) ))
return response(environ, start_response)
response = []
response.append( Response(main( Request(environ), response )))
return response[0](environ, start_response)
Офлайн
может его не надо передавать, просто использовать. т.к. wsgi одно на приложение то и реквест/респонс один.
Офлайн
Как я могу использовать response, если внутри функции main у меня нет ссылки на него?
Делать глобальную переменную? - тоже некрасиво.
Офлайн
axeона уже глобальная
Как я могу использовать response, если внутри функции main у меня нет ссылки на него?
Делать глобальную переменную? - тоже некрасиво.
Офлайн
from werkzeug import Request, Response
Офлайн
ясно, я думал тут так же как в ботле.
Офлайн
axe И что вы про werkzeug читаете? Похоже что не с того начали читать или вовсе не то. Вот тут всё расписано, пройдите туториал и поймёте в чём фишка: http://werkzeug.pocoo.org/documentation/dev/tutorial.html
Офлайн
poltergeistнесколько раз присматривался к werkzeug, не увидел преимущества перед bottle. там почти все то же самое, но bottle по легкости кода мне больше нравиться.
axe И что вы про werkzeug читаете? Похоже что не с того начали читать или вовсе не то. Вот тут всё расписано, пройдите туториал и поймёте в чём фишка: http://werkzeug.pocoo.org/documentation/dev/tutorial.html
Офлайн
axeЯ думаю лучше воспользоваться декораторами, как в это примере http://werkzeug.pocoo.org/documentation/0.6.2/levels.html#example
тут Response - это класс, а нужен объект response этого класса, который создаётся внутри функции application.
И этот объект ни разу не глобальный.
Офлайн
o7412369815963 В werkzeug есть очень-очень-очень много вкусного, о котором вы видимо и не задумывались пока, или вам это просто не нужно. Werkzeug и bottle я бы вообще не сравнивал, это разные по весовой категории и решаемому кругу задач библиотеки.
Офлайн