2013-07-11 2 views
0

나는 설문 조사에서 사용자가 다른 질문에 대답하는 django 앱을 만들지 만, 로그인하지 않으면 3 일 후에 투표가 제거됩니다.익명 사용자에 대한 프로필 제공

익명 사용자가 질문에 대답하려고하면, 내가, 새 사용자를 만들 그들를 기록하고 답변을 할당 다음과 같이

나는 순간에 그것을 할 방법입니다. 사용자가 계정을 만들려면 계정을 변경해야합니다.

이 접근법의 귀찮은 부작용은 다음과 같습니다. 익명 사용자가 투표를 허용하도록 계정을 은밀하게 만들 때 사용자가 로그인하지 않은 것처럼 행동해야합니다. 표준을 사용하면 성가 시게됩니다. 관리자보기 및 일반적으로 템플릿을 추가 속성을 확인해야합니다. 자동으로 사용자를 만들었는지 또는 사용자가 직접 만든 것인지 알려줍니다.

더 좋은 방법이 있습니까?

+0

장고에 대한 서드 파티의 인증 라이브러리는 가짜 로그인을 지원합니다. – millimoose

+0

고마워, @millimoose! 이것은 매우 유용한 아이디어입니다. –

+0

안녕하세요, @millimoose! 귀하의 의견을 대답으로 변환 하시겠습니까? 나는 그것을 받아 들일 것이다. –

답변

1

간단한 해결책은 설문 조사 응답을 사용자 ID와 연결하지 않는 것입니다. 설문 조사 응답을 별도의 완전히 독립적 인 ID로 지정하십시오. 실제 사용자가 로그인 한 경우 사용자로부터 응답을 조사하기 위해 일방적 인 연관성을 만듭니다. 익명 사용자가 등록 할 때이 연결도 추가하십시오. (즉, 설문 조사의 "소유자"는 선택 사항입니다.) 이후 소유자가없는 이전 설문 조사 응답을 정기적으로 삭제하거나 쿼리에서 오래된 설문 응답을 무시합니다.

이렇게하면 대부분의 복잡성이 관리 앱에서 사용자 등록으로 변경됩니다. 즉, 익명 사용자가 설문에 응답하고 세션에 응답 ID를 저장하면 새 사용자가 등록하고 응답 ID에 대한 세션을 확인한 다음 을 입력하고은 사용자 ID에 할당합니다.