SO burada bir çok benzer giriş işlevselliği ile basit bir web sitesi inşa etmeye çalışıyorum. Kullanıcı siteye anonim bir kullanıcı olarak göz atabilmelidir ve her sayfada bir giriş bağlantısı olacaktır. Giriş linkine tıklandığında kullanıcı giriş formuna yönlendirilir. Başarılı bir giriş yaptıktan sonra kullanıcı, giriş bağlantısını ilk tıkladığı yerden geri götürmelidir. Bir şekilde mevcut sayfanın URL'sini giriş formunu işleyen görünüme geçirmek zorunda olduğumu tahmin ediyorum ama gerçekten işe yarayamıyorum.
EDIT: Anladım. Geçerli sayfayı bir GET parametresi olarak geçirerek giriş formuna bağlandım ve sonra o sayfaya yönlendirmek için 'sonraki' seçeneğini kullandım. Teşekkürler!
DÜZENLEME 2: Benim açıklama açık değildi bu yüzden burada istendiği gibi benim kodum: Bir sayfa foo.html olduğumuzu ve giriş yapmadık diyelim. Şimdi foo.html bir bağlantı var istiyorum login.html adresine gidin. Orada giriş yapabiliriz ve daha sonra foo.html'ye yönlendiriliriz. Foo.html'deki bağlantı şöyle görünür:
<a href='/login/?next={{ request.path }}'>Login</a>
Şimdi şöyle görünüyor özel bir giriş görünümü yazdı:
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())
Ve login.html dosyasındaki önemli satır:
<form method="post" action="./?next={{ redirect_to }}">
Evet, bu hemen hemen bu, umarım bunu açıklığa kavuşturur.