猿问

Django视图间传递参数

大家好。最近在自学Django的Web框架搭建,遇到一个很纠结的问题。。。
比如说,如果在一个页面视图上定义了一些表单数据,提交后需要让这些数据和重定向的链接一起传递到一个新的页面(或者刷新当前页面),该如何定义呢--
好像是个很傻的问题,但因为身边没人可以请教,网上搜索也是云里雾里的,求指导。。。
凤凰求蛊
浏览 329回答 2
2回答

胡说叔叔

在view中传递短小的消息不建议放在url中,这样第三方就可以控制你要传的消息了,如果过滤不严还会出现严重的安全问题,可以使用相应框架的flashsession技术,在django中flashsession叫做message,点我django中的message支持多种级别的消息,比如info,success等,而且还支持不同的backend,可以根据业务自行决定使用那种backend,或者自定义backend

富国沪深

可以使用HttpResponseRedirect来实现,在view1获取到的数据通过url参数的形式传递给view2,或者通过写cookie或者session的方式来保存。当然上面的方式都只推荐在一些非敏感数据的传递,敏感数据的话还是使用数据库来作保存。下面给出通过redirect方式的示例代码fromdjango.views.genericimportRedirectViewclassView1(RedirectView):defpost(self,request,*args,**kwargs):#getyourdatafromrequest...post_data_json=request.POSTresponse=HttpResponseRedirect(reverse('urlname2')+"?args1="+json.dumps(order_items))returnresponse
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答