python - 请教一下关于 Django 的重定向失败
本文介绍了python - 请教一下关于 Django 的重定向失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
不知道为什么,我使用了 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 手动跳转
这篇关于python - 请教一下关于 Django 的重定向失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文