i'm trying implement simple page redirect index page if user authentication fails.
imagine have 2 paths:
www.xyz.com/app/ www.xyz.com/app/user
the first renders index page, , second authorized user landing page on successful login.
in views.py
file, have
def index(request): return render(request, "app/index.html") def userlogin(request): loginuser = authenticate(username = request.post["username"], password = request.post["password"]) if loginuser not none: if not loginuser.is_active: loginuser.is_active = true loginuser.save() login(request, loginuser) return httpresponse(reverse(user)) else: return httpresponse(simplejson.dumps({"login" : "failed"})) def userlogout(request): logout(request) return httpresponseredirect(reverse(index))
and urls.py
urlpatterns = patterns("", url(r'^$', views.index, name = "index"), url(r'^user/$', views.user, name = "user"), url(r'^registernewuser/$', views.registernewuser), url(r'^userlogin/$', views.userlogin), url(r'^user/userlogout/$', views.userlogout), )
the logout function accessed via ajax post request, , in logs, see
[11/jul/2013 09:08:00] "post /app/user/userlogout/ http/1.1" 302 0 [11/jul/2013 09:08:00] "get /app/ http/1.1" 200 5039
but index page not loading. however, if refresh page, index page loads, due conditional call request.user.is_authenticated()
triggers same httpresponseredirect
call , parameters on fail.
if login fail mean in else case return render(request, "app/index.html") instead of return httpresponse(simplejson.dumps({"login" : "failed"})) **updated userlogin** def userlogin(request): loginuser = authenticate(username = request.post["username"], password = request.post["password"]) if loginuser not none: if not loginuser.is_active: loginuser.is_active = true loginuser.save() login(request, loginuser) return httpresponse(reverse(user)) else: return render(request, "app/index.html")
Comments
Post a Comment