2012-03-20 4 views
12

두 가지보기가 있습니다.Django에서 세션 키를 한 번 사용한 후 어떻게 삭제합니까?

view1은 세션 키를 통해 view2에 오류 메시지를 전달합니다.

view2가 렌더링 된 후에 어떻게 키를 삭제합니까? 한 번만 : view1에서 view2로 리디렉션해야합니다. 내 웹 페이지를 새로 고친 다음에 그 메시지가 나타나지 않아도됩니다. python이 도달하면 실행을 계속할 것이라고 생각하지 않습니다. return

만료 타임 스탬프를 설정하려고 생각했지만 응용 프로그램이 실제로 그렇게 오래 걸리면 적어도 10-20 초 동안 존재하는지 확인해야합니다. 로드 (우리는 장고로 서버를 처리한다)? 그래서 시간이 그 약속하지 않습니다.

감사합니다.

답변

41

다른 사전과 마찬가지로 세션에서 키를 삭제할 수 있습니다.

del request.session['your key'] 

일부 설정에 따라 저장하기 위해 세션을 수정 된 것으로 표시해야 할 수도 있습니다.

request.session.modified = True 
+2

죄송합니다. 나는 모든 것을 너무 복잡하게 만들었다. 방금 로컬 var에 저장하면 완료됩니다. 그냥 삭제하십시오. 감사. 나는 너무 많이 생각하고있다. – CppLearner

+1

세션과 직접 관련이 있고'request.session [ 'parent_key'] [ 'child']'처럼 중첩되어 있지 않은 키를'del'하면'request.session.modified = True ' –

8

세션의 키를 누를 수도 있습니다. 변수에 키를 설정하여 동시에 제거 할 수 있습니다.

+0

또한'get '과 같은 디폴트 값을 가질 수 있습니다. – Vassilis

+0

이후에는'request.session.modified = True'가 필요합니까? 아니면 아닐까요? –

+0

@HassanBaig 아니요.이 경우에는'request.session.modified = True'를 설정할 필요가 없습니다. –

관련 문제