Найти - Пользователи
Полная версия: tornado RequestHandler.initialize()
Начало » Network » tornado RequestHandler.initialize()
1
young_programmer
Постепенно пытаюсь разобраться с tornado. Но с английским туго и с web фреймворками раньше дела не имел, объясните пожалуйста, зачем нужен метод RequestHandler.initialize() и когда он запускается?
o7412369815963
Это вроде как конфигурирование хандлера после его создания. Используется например в хандлере раздачи статики, для настройки root пути.
young_programmer
А разве все не на оборот? В примере в доках, в RequestHandler.initialize() передаётся экзмепляр БД, на сколько я понял.
Singularity
young_programmer
что тебе надо то и делает, тебе как-бы дают возможность вставить свой код на этом этапе.
Это что-то вроде __init__

young_programmer
Singularity
Это что-то вроде __init__
Ну вот __init__ на пример запускается при создании экземпляра класса. А когда запускается RequestHandler.initialize?
Singularity
при каждом конекте
young_programmer
Спасибо
o7412369815963
На каждый конект создается экземпляр хандлера, после конфигурируется (до вызова get/post), вот пример настройки StaticFileHandler, 3-й параметр должен передаваться в initialize:
application = web.Application([
    (r"/content/(.*)", web.StaticFileHandler, {"path": "/var/www"}),
])
young_programmer
Если вы говорите, что RequestHandler.initialize запускается
o7412369815963
после конфигурируется (до вызова get/post)
то тогда в чем его разница с RequestHandler.prepare()??? Как я понимаю RequestHandler.initialize запускается при запуске сервера и в этот момент происходит инициализация, а RequestHandler.prepare запускается при вызове обработчика, перед вызовом (post, get или других).
o7412369815963
young_programmer
Как я понимаю RequestHandler.initialize запускается при запуске сервера и в этот момент происходит инициализация
Не логично, т.к. это метод для экземпляра, а экземпляр создается на каждый запрос. Но вы можете проверить добавить print в них (или продебажить).
young_programmer
RequestHandler.prepare
Про этот не знаю, наверно его ещё не было когда я юзал торнадо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB