Что я могу прикрепить к pylons.request в Pylons? - PullRequest
2 голосов
/ 14 июля 2009

Я хочу отслеживать уникальный идентификатор для каждого браузера, который подключается к моему веб-приложению (которое написано на Pylons.) Я сохраняю cookie на клиенте, чтобы отслеживать это, но если файл cookie отсутствует,затем я хочу сгенерировать новый уникальный идентификатор, который будет отправлен обратно клиенту с ответом, но я также могу получить доступ к этому значению из другого кода, использованного для генерации ответа.

Прикрепляет это значение кpylons.request безопасно?Или мне нужно сделать что-то вроде использования threading_local, чтобы сделать поток локальным, который я сбрасываю при обработке каждого нового запроса?

Ответы [ 2 ]

3 голосов
/ 14 июля 2009

Почему вам нужен уникальный идентификатор? По сути, каждый посетитель уже получает уникальный идентификатор, свою сессию. Beaker , промежуточное ПО для сеансов и кэширования Pylons, выполняет всю работу и отслеживает посетителей, как правило, с помощью файла cookie сеанса. Поэтому не заботьтесь об отслеживании пользователей, просто используйте Session для того, для чего он предназначен, чтобы хранить все, что у вас есть.

from pylons import session
session["something"] = whatever()
session.save()

# somewhen later
something = session["something"]
0 голосов
/ 15 июля 2009

Что бы вы ни задали в запросе, оно будет действовать только в течение срока действия запроса. описанная вами проблема более подходяще решается с помощью сеанса, как сказал TCH4k. Он уже включен в промежуточном программном обеспечении, так что продолжайте.

...