2010-02-15 3 views
7

저는 장고 등록을 사용하여 사용자를 내 응용 프로그램에 기록합니다. 그 부분은 잘 작동합니다. 내가 알아낼 수없는 부분은 사용자가 로그인 할 때 사용자 정의 세션 변수를 설정하는 방법입니다. 예를 들어, UserProfile 데이터와 몇 가지 다른 함수의 출력을 포함하는 변수를 채우고 싶습니다. 그렇다면 후속 뷰/템플릿에서 해당 정보를 사용할 수 있습니다.django-registration과 auth를 사용하여 로그인 할 때 세션 변수를 어떻게 설정합니까?

누군가 온라인 튜토리얼을 가르키거나 샘플 코드를 게시 할 수 있다면 좋을 것입니다.

http://docs.djangoproject.com/en/dev/topics/http/sessions/

세션 :이 사용자 데이터 (단지 추가 세션 데이터)의 영구 저장을하지 않으려면

내가 장고 1.1 및 파이썬 2.6

답변

3

을 사용하고 있습니다를 보라 django.contrib.auth를 사용하면 프레임 워크가 이미 활성화되었을 것입니다. 내가 @stefanw을 실현

http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

+0

이 시점에서 추가 세션 데이터를 찾고 있습니다. 이미 데이터베이스에있는 모든 정보를 가지고 있는데 어떻게 접근해야하는지 알아야합니다. 내 진짜 질문은 어떻게 장고 등록을 사용하는 동안이 세션 데이터를 설정할 수 있습니까? 내가 로그인 할 수있는 자체 기능을 쓸 수 있습니까? – doza

+0

세션에 프로필 데이터를 가져올 필요가 없습니다. django.contrib.auth를 사용할 때 request.user를 사용하여 현재 사용자에게 액세스 할 수 있습니다. – stefanw

+0

물론! 나는 그렇게 생각하지 않았습니다. 그것은 훨씬 더 의미가 있습니다. 감사합니다. – doza

1

을 :

당신은 (뿐만 아니라 세션에서하지만, 데이터베이스), 다른 "프로필"모델에 저장됩니다 추가 사용자 데이터의 영구 저장을 원하는 경우 다른 해결책을 제공했지만 원래 질문에 답할 수 있습니다.

로그인 할 때 세션 데이터를 설정하는 것이 가장 쉽습니다. 데이터를 설정하는 가장 쉬운 장소는보기 기능이며 수정하려는 특정보기 기능은 다음과 같습니다. contrib.django.auth 앱의 일부.

  • 이 세션 데이터를 설정하는 작은 미들웨어 클래스를 만듭니다

    그래서 옵션은 다음과 같은 것이다.

  • 원하는 데이터를 설정할 로그인 템플릿 또는 후속 페이지에 통합 할 수있는 템플릿 태그 또는 다른 코드 비트를 만듭니다.
  • 사용자 정의 로그인보기 기능을 작성하십시오 (사실 매우 쉽습니다).

해피 django-ing!

+0

또 다른 옵션은 로그인 신호를 사용하는 것입니다 : https://docs.djangoproject.com/en/dev/topics/auth/#login-and-logout-signals. 그러나 위에 언급 한 것처럼 request.user를 사용하는 것이 세션을 사용하는 것보다 더 나은 대안입니다. –

+0

올바른 링크 : https://docs.djangoproject.com/en/1.11/ref/contrib/auth/#module-django.contrib.auth.signals – cgl