Django使用参数返回redirect()

Django使用参数返回redirect(),第1张

Django使用参数返回redirect()

首先,您的URL定义根本不接受任何参数。如果要将参数从URL传递到视图中,则需要在urlconf中定义它们。

其次,还不清楚您对cleaned_data字典的期望是什么。别忘了您不能重定向到POST-这是HTTP的局限性,而不是Django-
因此您的cleaned_data必须是一个URL参数(可怕),或者最好是一系列GET参数-所以URL将采用以下形式:

/link/mybackend/?field1=value1&field2=value2&field3=value3

等等。在这种情况下,URLconf定义中 包括field1,field2和field3,它们可通过查看在视图中

request.GET

因此,您的urlconf将是:

url(r'^link/(?P<backend>w+?)/$', my_function)

该视图如下所示:

def my_function(request, backend):   data = request.GET

而相反的是(导入后

urllib
):

return "%s?%s" % (redirect('my_function', args=(backend,)),       urllib.urlenpre(form.cleaned_data))

评论后编辑

一直以来,使用重定向和反向 *** 作的全部目的是转到URL-它返回一个Http代码,该代码使浏览器重定向到新URL并进行调用。

如果您只想从代码中调用视图,则直接执行即可-根本不需要使用反向。

就是说,如果您只想存储数据,那么只需将其放入会话中即可:

request.session['temp_data'] = form.cleaned_data


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5674988.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存