Django - 简单重定向到请求的URL

时间:2014-06-12 14:36:15

标签: python django url redirect

我想这样做,但是这个

return HttpResponseRedirect(request.path_info)

产生重定向循环。我怀疑它是因为请求对象是您当时 的网站。

整个功能

def permit(request, pk):
    if int(request.user.id) == int(pk):
        return HttpResponseRedirect(request.path_info)
    else:
        return render_to_response('forbidden.html')

用户点击了网页上的链接。 pk是urls.py中的regx搜索词。如果用户被授权,我希望将其重定向到用户点击的页面,而不是他当前所在的页面。

1 个答案:

答案 0 :(得分:1)

问题是,只要用户被“重定向”,就会调用函数permit。 if语句为true(因为它是经过身份验证的用户)并且重定向再次发生...要阻止此循环,只有重定向(如果有发布请求):

def permit(request, pk):
    if request.POST:
        if  int(request.user.id) == int(pk):
            return HttpResponseRedirect(request.path_info)
        else:
            return render_to_response('forbidden.html')
    ## Return your login page here.