不知道为什么,我使用了 HttpResponseRedirect 来进行重定向.比如登陆的这个情况是,我点击登陆了后台已经获取了 posts 页面,但是界面还是登陆页。不知道是什么情况造成的?
urls.py
url(r'^login/$',login_views, name='login'), url(r'^logout/$',logout_views, name='logout'), url(r'^register/$', register, name='register'), url(r'^posts/$',Post_index, name='posts'),
views.py
def login_views(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user_status =authenticate(username=username, password=password) if user_status: login(request,user_status) return HttpResponseRedirect("/admin/posts") else: if User.objects.filter(username=username): messages.error(request,"eror") return HttpResponseRedirect("/admin") #return JsonResponse({'status':'error', 'message':'密码错误'}) else: return JsonResponse({'status':'error','message':'用户不存在'}) return render(request, "login.html")
执行情况:
ajax 请求返回 302 是不会跳转的,你要 在 js 用 location.href 手动跳转