HttpResponseRedirect 问题

2 投票
4 回答
4593 浏览
提问于 2025-04-15 21:14

我们在使用HttpResponseRedirect的时候,不能发送一个字典变量吗?

        render_to_response('edited/display.html',context_instance=RequestContext(request,{'newlist': newlist}))

    //How can the dictionary and the request sent back again

    //sumthing like this

    return HttpResponseRedirect('edited/display.html',context_instance=RequestContext(request,{'newlist': newlist}))

4 个回答

0

来自文档

这个构造函数只需要一个参数——也就是你想要重定向到的路径。这个路径可以是一个完整的网址(比如 'http://www.yahoo.com/search/'),也可以是一个没有域名的绝对网址(比如 '/search/')。

2

让我再补充一个答案,除了已有的答案之外:

my_url = reverse("my_app.views.my_path") + "?action_result=124"
return HttpResponseRedirect(my_url)

反向函数是:from django.core.urlresolvers import reverse

4

响应重定向顾名思义,就是把用户的浏览器引导到一个新的网址。所以在HttpResponseRedirect中,除了新的网址,传其他东西是没有意义的。

如果你想传一些数据,以便在新的网址的view中检查这些数据,可以把它作为网址参数传递,比如:

return HttpResponseRedirect('edited/display.html?msg=I was redirected')

撰写回答