Уведомления

Группа в Telegram: @pythonsu

#1 Июль 15, 2010 14:54:58

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

Читаю про werkzeug. Чтобы запустить под wsgi+werkzeug свой скрипт нашёл такое решение:

from werkzeug import Request, Response
def application(environ, start_response):
response = Response(main( Request(environ) ))
return response(environ, start_response)
здесь main - это моя функция. Она получает объект request из которого можно вытаскивать данные get/post/cookie.

Но, чтобы установить cookie, werkzeug предлагает использовать объект response и его метод set_cookie.
Только неясно, как передать response внутрь main. А такое решение:
    response = []
response.append( Response(main( Request(environ), response )))
return response[0](environ, start_response)
мне самому не нравится. Как правильно пользоваться этим werkzeug?



Офлайн

#2 Июль 15, 2010 16:00:09

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

может его не надо передавать, просто использовать. т.к. wsgi одно на приложение то и реквест/респонс один.

Офлайн

#3 Июль 15, 2010 16:58:20

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

Как я могу использовать response, если внутри функции main у меня нет ссылки на него?
Делать глобальную переменную? - тоже некрасиво.



Офлайн

#4 Июль 15, 2010 17:58:12

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

axe
Как я могу использовать response, если внутри функции main у меня нет ссылки на него?
Делать глобальную переменную? - тоже некрасиво.
она уже глобальная

Офлайн

#5 Июль 15, 2010 18:19:43

axe
От:
Зарегистрирован: 2008-08-07
Сообщения: 256
Репутация: +  0  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

from werkzeug import Request, Response
тут Response - это класс, а нужен объект response этого класса, который создаётся внутри функции application.
И этот объект ни разу не глобальный.



Офлайн

#6 Июль 15, 2010 18:40:21

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

ясно, я думал тут так же как в ботле.

Офлайн

#7 Июль 16, 2010 14:59:50

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

axe И что вы про werkzeug читаете? Похоже что не с того начали читать или вовсе не то. Вот тут всё расписано, пройдите туториал и поймёте в чём фишка: http://werkzeug.pocoo.org/documentation/dev/tutorial.html



Офлайн

#8 Июль 16, 2010 15:54:40

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

poltergeist
axe И что вы про werkzeug читаете? Похоже что не с того начали читать или вовсе не то. Вот тут всё расписано, пройдите туториал и поймёте в чём фишка: http://werkzeug.pocoo.org/documentation/dev/tutorial.html
несколько раз присматривался к werkzeug, не увидел преимущества перед bottle. там почти все то же самое, но bottle по легкости кода мне больше нравиться.

Офлайн

#9 Июль 16, 2010 16:20:46

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

axe
тут Response - это класс, а нужен объект response этого класса, который создаётся внутри функции application.
И этот объект ни разу не глобальный.
Я думаю лучше воспользоваться декораторами, как в это примере http://werkzeug.pocoo.org/documentation/0.6.2/levels.html#example

А вообще, если у Вас планируктся какое-никакое приложение, то рекомендую http://flask.pocoo.org/ - вещь написанная автором werkzeug и поверх werkzeug и jinja2 - лично мне оно понравилось.



Офлайн

#10 Июль 16, 2010 22:53:47

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Werkzeug: установить cookie

o7412369815963 В werkzeug есть очень-очень-очень много вкусного, о котором вы видимо и не задумывались пока, или вам это просто не нужно. Werkzeug и bottle я бы вообще не сравнивал, это разные по весовой категории и решаемому кругу задач библиотеки.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version