Форум сайта python.su
poltergeistнапример, что такое значимое есть из-за чего можно мигрировать?
o7412369815963 В werkzeug есть очень-очень-очень много вкусного, о котором вы видимо и не задумывались пока, или вам это просто не нужно.
Офлайн
o7412369815963 Ну значит пока не надо мигрировать;)
А вообще в werkzeug есть очень подробный Request класс, описывающий всевозможные заголовки запроса (не сырые заголовки, а уже проанализированные и адаптированные для использования в питоне). Есть отличная дебаг-страница (лучшая наверное из всех). Есть очень гибкий и красивый диспатчер урлов. Встроенные средства для создания thread local (или иначе говоря request local) объектов. Есть начальный функционал для кэширования данных. Есть сессии, signed cookies и прочее прочее… И ещё это не фреймворк, это просто очень классная и гибкая библиотека для создания реальных проектов. И там нет ничего лишнего, только то, что действительно нужно.
Офлайн
poltergeistФишка не описывается в двух предложениях? Обязательно проходить туториал?
Вот тут всё расписано, пройдите туториал и поймёте в чём фишка
from werkzeug import Response
def application(environ, start_response):
response = Response('Hello World!')
return response(environ, start_response)
Офлайн
axe Туториал просто покажет как правильно и грамотно создать приложение, разместить всё по своим местам.
Если вам нужен простой доступ к request-у как к глобальному объекту из любой точки проекта, то вам понадобится сделать контекстную переменную, пример всё в том же туториале (http://werkzeug.pocoo.org/documentation/dev/tutorial.html#part-2-the-utilities), обратите там внимание на класс werkzeug.Local. Это безопасно при работе с многопоточностью.
А ещё лучше сам пример напишу:
from werkzeug import Request, Response, Local, LocalManager
local = Local()
local_manager = LocalManager([local])
request = local('request')
def application(environ, start_response):
local.request = Request(environ)
response = main(request) # ваш main
return response(environ, start_response)
application = local_manager.make_middleware(application)
Офлайн
poltergeistон у меня и так есть:
Если вам нужен простой доступ к request-у как к глобальному объекту из любой точки проекта
axe
response = Response(main( Request(environ) ))
poltergeistчто с ним можно делать вне функции main? ничего. по сути, я про это и спрашивал.
Что делать с response-ом сами думайте
Офлайн