2012-04-19 3 views
0

사용자가 성공적으로 등록한 후 리디렉션 ('registration_complete',(), {})을 호출하는 django 등록을 사용하는 Django 1.4 프로젝트가 있습니다. 이것은 http://127.0.0.1:8000/에서 실행되는 장고 개발 서버에서 훌륭하게 작동합니다.django 등록에서 redirect() 호출 문제

내 준비 사이트는 Apache 서버의 루트가 아닌 위치에 있습니다. http://example.com/mysite과 같은 것입니다. 그래서 사용자가 거기에 등록하면 django-registration 리디렉션 호출이 URL을 올바르게 반전하지 않으므로 페이지가 발견되지 않습니다. 사이트 루트 (mysite /)에서 벗어납니다.

이 문제를 해결하는 방법을 결정하려고합니다. 내가 고려하고있는 것은 다음과 같습니다 :

1) 사용자 정의 django 등록 백엔드를 작성하여 등록 워크 플로우를 다르게 처리하십시오.

2) 리다이렉션을 다르게 처리하기 위해 django 등록 기본 백엔드에 패치를 적용하십시오.

3)?

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

+0

리디렉션의 예가이 장고 등록보기 코드의 190 행에 있습니다 (https://bitbucket.org/ubernostrum/django-registration/src/27bccd108cde/registration/views). .py – Erik

+1

URL이 다른 곳에서 해결 되나요? 장고는 일반적으로 하위 디렉토리와 잘 작동하지 않으므로 별도의 하위 도메인에서 프로젝트를 실행하는 것이 좋습니다. – ilvar

+0

내 모든 역 호출 ('urlname')은 mysite 접두어를 사용하지 않습니다. 이것은 항상 나를 위해 고집하고있다. 내 준비 환경에 하위 도메인을 사용하는 것은 내가 고려하지 않은 훌륭한 아이디어입니다. – Erik

답변

0

최상의 솔루션은 ilvar에서 제공하는 것이 었습니다. 하위 디렉터리를 사용하지 않고 별도의 하위 도메인에서 프로젝트를 실행하는 것이 좋습니다. 나는 또한 하위 도메인을 파일 시스템의 다른 경로에 두는 것이 좋습니다. 감사합니다 ilvar!

0

코드의 일부로 등록 패키지가있는 경우 필요에 따라 등록 URL 파일에 필요에 따라 접두사를 추가 할 수 있습니다. 그렇지 않은 경우 기본 URL에 접두사를 추가하고 include 문을 사용하여 등록 URL로 연결할 수 있습니다. 그것은 당신을 도울까요?

+0

감사합니다.하지만 필자의 제안에 따라 하위 도메인을 사용하도록 이동했습니다. 보다 견고한 접근법처럼 보입니다. – Erik