이전에는 지금 사용하지 않는 django-registration의 이전 버전을 사용하고 있습니다. 내 서버가 파이썬 플러그인을 설치할 수 없기 때문에 별도의 장고 응용 프로그램으로 '등록'을 사용해야합니다. 이제 내 질문은 등록을 django-app로 실행하려면 무엇을 수정해야합니까? 그냥 장고 프로젝트 카탈로그에 '등록'을 복사하고 설정에 추가하면 제대로 작동합니까? 이전에는 '백엔드'가 정의되지 않았으므로 이제는 백엔드 get_backend 함수를 사용하는 파일에 'path'를 인수로 사용합니다. 나는이 경로가 URL을 통해 전송 된 것 같아요? 클래스 활성화 및 등록과django-registration 설치 및 사용
url(r'^activate/(?P<activation_key>\w+)/$',
activate,
{'backend': 'registration.backends.default.DefaultBackend'},
name='registration_activate'),
이 카탈로그 내부도 DefaultBackend 클래스와 초기화 파일이있다.
http://paste.pocoo.org/show/225790/
그들은 둘 다 사용 신호
. 나는 그 신호를 어떤 식 으로든 귀찮게해야합니까? (나는 아직도 그들이 사용 된 것을 얻지 못한다). 마지막으로. 이전에 등록 후 이런 식으로 테 주어진 success_url 중 하나 또는 설정 템플릿을 리디렉션했다 : 이제return HttpResponseRedirect(success_url or reverse('registration_complete'))
이에 대한 책임을 코딩하는 것은 같습니다
if success_url is None:
to, args, kwargs = backend.post_registration_redirect(request, new_user)
return redirect(to, *args, **kwargs)
else:
return redirect(success_url)
과 post_registration_redirect : 그래서
def post_registration_redirect(self, request, user):
"""
Return the name of the URL to redirect to after successful
user registration.
"""
return ('registration_complete',(), {})
을 여전히 'registration_complete'로 리디렉션되는 경우 왜 이렇게 변경 되었습니까? args와 kwargs는 비어 있습니다. 그래서 왜 귀찮게합니까?
나는 보통 설치 부분을 생략 할 수 있다는 것을 알고있다. 이 상황에서 (백엔드 섹션의 일부 수정 때문에) 동일한 작업을 수행 할 수 있는지 또는 할 수 없는지 궁금했습니다. 감사 – owca