2012-03-05 2 views
2

У меня есть несколько действий, которые я бы хотел выполнить и применил к каждый запрос, отправленный на мой сервер cherrypy. Наиболее распространенным примером является чтение файлов cookie пользователей, чтобы узнать, есть ли у него «cookie» «помнить меня», и если да, то автоматически войдите в систему пользователя и загрузите в сессию определенные данные по умолчанию.cherrypy, автоматически выполняя некоторые действия перед каждым запросом

Возможно, еще одна возможность проверить, существует ли сеанс, а затем загружать некоторую пользовательскую информацию в контекст Jinja2 по умолчанию.

Я бы хотел, чтобы это было сделано по каждому запросу, и в идеале хотелось бы избежать ручной установки декоратора перед каждой из моих функций.

Я новичок в инструментах cherrypy 3, и документация мне непонятна относительно того, что я должен делать. Любые ссылки на примеры очень ценятся.

Благодаря

ответ

1

Вы не должны использовать декоратор перед своими функциями. Вместо этого объявите инструмент в config. См. http://docs.cherrypy.org/dev/concepts/tools.html#config-files, в котором показано несколько способов настройки и включения инструментов для каждого URL-адреса (и всех его дочерних элементов) или для каждого класса (и всех его дочерних элементов). Например, вы можете включить инструмент для всех URL-адресов в файле конфигурации:

[/] 
tools.sessions.on: True 

То же самое касается и пользовательских инструментов.

Смежные вопросы