2

使用 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

4 回答 4

4

顾名思义,响应重定向将用户的浏览器重定向到新 URL,因此除了 HttpResponseRedirect 中的新位置之外,传递任何其他内容都没有任何意义

如果您想传递一些数据,以便在view新位置 url 中检查该数据,请将其作为 url 参数传递,例如

return HttpResponseRedirect('edited/display.html?msg=I was redirected')
于 2010-04-05T07:48:52.593 回答
2

因此,让我在现有答案的基础上添加另一个答案:

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

反向功能是:from django.core.urlresolvers import reverse

于 2011-12-18T08:58:25.573 回答
0

你真正要找的,我认为是redirect1.1中引入的功能

对于您的情况,您可以改为使用,

redirect(view_name,view_parameter)

为此,可能需要先修改您的视图,以获取 new_list 参数,或者将其传递给它的 slug 或 id。

于 2010-04-05T08:56:56.980 回答
0

文档中

构造函数接受一个参数——重定向到的路径。这可以是完全限定的 URL(例如“ http://www.yahoo.com/search/ ”)或没有域的绝对 URL(例如“/search/”)。

于 2010-04-05T07:15:37.150 回答