请教一下关于 Django 的重定向问题

2016-10-01 20:58:25 +08:00
 linkbg

不知道为什么,我使用了 HttpResponseRedirect 来进行重定向.比如登陆的这个情况是,我点击登陆了后台已经获取了 posts 页面,但是界面还是登陆页。不知道是什么情况造成的?

url.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")

2711 次点击
所在节点    问与答
4 条回复
lostab
2016-10-02 00:11:22 +08:00
把最后的跳转登录页放到 get 里面试试
Danfi
2016-10-02 09:35:56 +08:00
估计 LZ 是 ajax 提交的
linkbg
2016-10-02 12:58:01 +08:00
@Danfi 的确是用 ajax 。然后有几个同样使用了 ajax 也是成功重定向的。所以非常非常疑惑
Anybfans
2016-10-02 17:30:02 +08:00
。。 axjax 请求是不能重定向的吧除非让前端跳。你说可以。贴一下前端代码

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/310195

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX