2017-09-29 2 views
1

장고 앱을 만들고있어 사용자 세션을 관리하기 위해 도움이 필요합니다.한 명의 사용자를위한 글로벌 변수

당분간 내 index.html은 내 로그인 페이지입니다. 양식 (사용자 이름, 비밀번호)입니다. 사용자가 login을 클릭하면 양식을 얻고 사용자 SQL 테이블과 비교 한 다음 일치하면 일부 전역 변수 (firstname1, lastname1)를 profil_page.html로 렌더링합니다. 나는 (username1, password1)로 로그인한다고 가정 해 봅시다.

다른 컴퓨터에서 다른 로그인 (username2, password2)을 시도하면 profil_page.html로 이동하여 내 페이지에서 (firstname2, lastname2)를 볼 수 있습니다.

문제는 내가 (username1, password1)에 로그인 한 첫 번째 컴퓨터로 돌아가서 페이지를 새로 고침하고 페이지에서 (firstname2, lastname2)를 봅니다.

나는 세션의 문제라고 생각합니다. 내 전체 변수가 내 전체 응용 프로그램이 아니라 한 컴퓨터에 대해 필요합니다.

대단히 감사드립니다.

+0

이 글을 읽으셨습니까? https://docs.djangoproject.com/en/1.11/topics/http/sessions/? –

+0

장고를 재발 명하지 마십시오. Django는 안정적인 테스트를 거친 사용자/인증/세션 시스템을 가지고 있으므로 사용하십시오. –

+0

오, 그렇습니다. 장기 실행 다중 스레드/다중 프로세스 응용 프로그램에서 왜 전역을 사용하지 말아야하는지 이해하셨습니까? 동일한 프로세스가 여러 요청을 처리하므로 사기를 작성/변경하는보기가 호출 될 때마다 이전 값을 덮어 씁니다. 여러 동시 프로세스가 있고 모든 프로세스에서 사용자 요청을 처리 할 수있는 경우 더욱 재미 있습니다. –

답변

1

사용자 당 변수를 원한다면 세션 변수를 만드십시오. 그렇게하면 사용자 세션이 만료되지 않는 한 동일하게 유지됩니다.

request.session['name'] = 'hello' 
+1

예, 세션이 대문자로되어 있지 않은 경우 –

+0

@Daniel Thanks. 고쳤다. 내가 사용한 이후로 꽤 오래되었습니다. – hspandher