2009-07-13 2 views
2

내 웹 응용 프로그램 (Pylons로 쓰여 있음)에 연결하는 각 브라우저의 고유 식별자를 추적하고 싶습니다. 쿠키를 유지하기 위해 클라이언트에 쿠키를 보관하지만 쿠키가없는 경우 응답과 함께 클라이언트에 다시 전송 될 새로운 고유 식별자를 생성하려고하지만 응답을 생성하는 데 사용 된 다른 코드에서이 값에 액세스하려고 할 수도 있습니다.Pylons의 pylons.request에 무엇을 붙일 수 있습니까?

이 값을 pylons.request safe에 첨부하고 있습니까? 또는 각각의 새 요청이 처리 될 때 재설정되는 스레드 로컬을 만들기 위해 threading_local을 사용하는 것과 같은 작업을 수행해야합니까?

답변

3

고유 한 식별자를 원하십니까? 기본적으로 모든 방문자는 이미 고유 식별자 인 세션을 얻습니다. Beaker, Pylons 세션 및 캐싱 미들웨어는 세션 쿠키로 모든 작업을 추적하고 방문자를 추적합니다. 따라서 사용자 추적은 신경 쓰지 말고, Session을 사용하여 만든 내용에 대해 사용자 지정 항목을 저장하십시오.

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

# somewhen later 
something = session["something"] 
0

요청시 설정 한 내용은 요청이 지속되는 동안 만 지속됩니다. 당신이 기술하고있는 문제는 TCH4k가 말했듯이 더 적절하게 Session과 함께 처리됩니다. 미들웨어에서 이미 활성화되었으므로 계속 진행하십시오.

관련 문제