2011-02-07 3 views
1

django-registration을 사용하여 어떻게 든 작동하지 않게되었습니다. 나는 이것을 완전히 잃어 버렸고 오류를 찾기 시작할 곳을 모른다.django-registration은 사용자를 활성화하지만 오류를 표시합니다.

사용자가 활성화 링크를 클릭 할 때마다 activation.html 템플릿이 표시됩니다. 오류가있을 때만 표시해야합니다.

하지만 실제로는 오류가 없습니다. 사용자가 활성화되어 로그인 할 수 있습니다.

이 내용에 대한 의견은 크게 부탁드립니다.

답변

1

먼저 게시글 제목과 실제 ​​설명이 서로 충돌합니다. 주제에 따르면 장고 등록은 항상 사용자를 활성화하지 못하지만 사용자의 설명에 따르면 사용자가 활성화되어 로그인 할 수 있다고합니다. 어느 것입니까?

두 번째로 활성화 링크를 클릭하면 항상 사용자를 activate.html로 보내야합니다. 해당 페이지에 account이라는 변수가 있습니다. 정품 인증에 성공하면 account이 User 개체로 채워집니다. 그렇지 않으면 False가됩니다.

+0

네 말이 맞아, 나는 제목을 고쳤다. 하지만 당신 대답이 틀렸다고 생각합니다. 최소한 설명서 : http://docs.b-list.org/django-registration/0.8/views.html에 따르면 "활성화가 실패하면 템플릿 등록/activate.html에서 오류 메시지를 표시하고, 무시하려면 this, template_name 인수를 전달하십시오 (아래 참조). " – Kai

+0

사실. 문서에서 :'registration/activate.html : 계정 활성화가 실패 할 때 사용됩니다. ' –

+0

아, 그럼 버전 0.8을 사용하고 있습니다.이 버전은 완전히 다시 작성되었습니다. 나는 아직도 내 대답을 근거로 삼은 구버전을 사용하고있다. 미안합니다. –

1

0.7과 0.8 사이에 큰 차이가 :

0.7에서 : 에 사용자의 시도는 그/그녀의 계정을 활성화 할 때

등록/activate.html이 표시가. 0.8

등록에

/계정 활성화가 실패 할 경우 사용 activate.html

.

+0

오해의 소지가 있습니다. lol –

+0

아, 0.7 용으로 멋지게 형식화 된 온라인 문서를 찾을 수는 없지만 0.8은 알파에만 있습니다. hrmph. –

+0

0.7 for https://bitbucket.org/ubernostrum/django-registration/src/d073602dc103/docs/에 대한 문서 –

0

디버깅 registration.views.activate가 표시됩니다. success_url이 설정되어 있지 않으면 backend.post_activation_redirect 메서드가 호출됩니다. 기본 백엔드를 사용하는 경우 템플릿에서 쿼리 된 계정 변수없이 빈 컨텍스트를 반환합니다. 해결책은 기본 백엔드를 덮어 쓸 수 있습니다. 유일한 문제는 리디렉션을 통해보기에 개체를 전달할 수 없다는 것입니다. 따라서 템플릿 컨텍스트에 계정을 전달할 수 없습니다. 원하는 경우 매개 변수를 가져 와서 할 수 있습니다. 활성화 템플릿을 변경하고 조건을 제거하기로 결정했습니다.

관련 문제