로그인 기능이있는 간단한 웹 사이트를 여기에있는 것과 비슷합니다. 사용자는 익명 사용자로 사이트를 탐색 할 수 있어야하며 모든 페이지에 로그인 링크가 있습니다. 로그인 링크를 클릭하면 사용자가 로그인 양식으로 이동합니다. 로그인에 성공하면 사용자는 처음에 로그인 링크를 클릭 한 페이지로 되돌아 가야합니다. 어떻게 든 현재 페이지의 URL을 로그인 양식을 처리하는보기로 전달해야하지만 실제로는 작동하지 않을 것이라고 생각합니다.
편집 : 알아 냈습니다. 현재 페이지를 GET 매개 변수로 전달하여 로그인 양식에 연결 한 다음 '다음'을 사용하여 해당 페이지로 리디렉션했습니다. 감사!
편집 2 : 내 요청이 여기에 요청 된대로 내 설명이 명확하지 않은 것 같습니다 : 우리가 foo.html 페이지에 있고 로그인하지 않았다고 가정 해 봅시다. 이제 우리는 foo.html에 링크가되고 싶습니다. login.html로 이동하십시오. 거기서 로그인하여 foo.html로 다시 리디렉션 할 수 있습니다. foo.html의 링크는 다음과 같습니다.
<a href='/login/?next={{ request.path }}'>Login</a>
이제 다음과 같은 사용자 정의 로그인 뷰를 작성했습니다.
def login_view(request):
redirect_to = request.REQUEST.get('next', '')
if request.method=='POST':
#create login form...
if valid login credentials have been entered:
return HttpResponseRedirect(redirect_to)
#...
return render_to_response('login.html', locals())
login.html의 중요한 라인 :
<form method="post" action="./?next={{ redirect_to }}">
예, 거의 다 그렇습니다. 그것이 분명해지기를 바랍니다.