2011-08-31 4 views
6

간단한 소개 시스템을 구현하고 있습니다. 참조하는 사용자를 식별하는 세션 변수를 설정하는 미들웨어가 있습니다. 추천 사용자를 추천 사용자와 연결시키는 모델이 있습니다. 이 모델을 채우기 위해 사용자 개체의 post_save 신호를 사용하려고합니다. post_save 신호 처리기 내에서 세션 객체에 어떻게 액세스합니까?장고에서 신호 처리기에서 세션을 얻는 방법

답변

1

thread specific global variable을 사용하지 않는 방법은 없습니다.

하지만 당신이 필요하다고 확신하지 않습니다. 내 추천 및 초대 시스템의 경우 사용자 등록을 정상적으로 수행하고 사용자가 생성 된 후에 세션의 조회를 가져옵니다. 거의 모든 상황에서 여전히 동일한 세션이됩니다.

세션을 막을 수있는 무언가가 있다면 대신 사용자 작성 양식에 추가 할 것입니다.

+0

몇 가지 문제가 있습니다. 1. 내 인증 시스템은 전자 메일 활성화가 필요한 별도의 앱 (django 인증에 기반)입니다. 사용자는 세션이 만료 될 때까지 전나무 시간에 로그인하지 않는 경우가 많습니다. 따라서 추천은 생성시 기록되어야합니다. 2. 필자는 auth (또는 creation) 뷰/템플릿을 엉망으로 만들지 않으려 고합니다 * (가능하다면) 인증 시스템과 완벽하게 격리되기를 바랍니다. 지금은 좋지 않습니다. –

+0

그래, 당신은 전역 스레드 특정 변수를 사용해야 할 것 ... 어색한 일종의. –

+0

도움 주셔서 감사합니다. –

0

유용한 설명서 on using sessions out of views을 찾을 수 있습니다.

+1

나는 그것을보고 있었지만 세션 키를 얻는 방법을 모르며 어떤 유형의 세션 저장소가 사용되고 있는지 알고 있어야합니다. –

+1

AFAIK 신호 처리기에 세션 키가 없기 때문에이 방법이 작동하지 않습니다. – guettli

관련 문제