장고

2010-12-11 5 views
1

에`context_instance = RequestContext (요청)`쿠키를 사용합니까 나는 웹 브라우저 (firefox)를 닫는다장고

context_instance=RequestContext(request)는 이것을 할 수 있는가? 쿠키를 사용합니까?

이 상태를 유지하는 데 걸리는 시간.

감사

homepage.html입니다 : 사용자의 로그인 한 상태에서 모든 변경되지 않습니다 RequestContext 추가

{% if user.is_authenticated %} 
    <p>Welcome, {{ user.username }}. Thanks for logging in.</p> 
{% else %} 
    <p>Welcome, new user. Please <a href="/account/login_view">login</a></p> 
{% endif %} 

답변

4

. 쿠키에 대한 귀하의 질문은 전혀 이해가되지 않습니다. RequestContext는 템플리트 컨텍스트에서 특정 변수에 액세스 할 수있게합니다.이 중에서 컨텍스트 프로세서가 auth이라고 가정하면 user 변수입니다.

RequestContext가 없으면 사용자는 여전히 로그인되어 있지만 user 변수를 컨텍스트에 전달하지 않으므로 if 문은 False로 평가됩니다. 사용자의 실제 상태와 전혀 관련이 없습니다.

+0

감사합니다. Daniel.하지만 Firefox를 닫은 경우에도 사용자가 항상 로그인 한 이유는 무엇입니까? 이 상태를 데이터베이스에 저장합니까? – zjm1126

0

당신은에서 context_instance=RequestContext(request) 컨텍스트를 추가하면 context processors이는 user에서 현재 사용자 개체를 포함하고있는 사용자의 경우, 템플릿에 추가됩니다 settings.py에 정의했습니다. 변수를 제거하면 변수가 존재하지 않지만 템플릿 내부에서는 예외가 발생하지 않지만 로그인하지 않은 사용자의 HTML은 렌더링됩니다!

사용자 정보는 쿠키를 사용하는 session에 저장됩니다.