大家好。最近在自学Django的Web框架搭建,遇到一个很纠结的问题。。。比如说,如果在一个页面视图上定义了一些表单数据,提交后需要让这些数据和重定向的链接一起传递到一个新的页面(或者刷新当前页面),该如何定义呢--好像是个很傻的问题,但因为身边没人可以请教,网上搜索也是云里雾里的,求指导。。。
2 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
在view中传递短小的消息不建议放在url中,这样第三方就可以控制你要传的消息了,如果过滤不严还会出现严重的安全问题,可以使用相应框架的flashsession技术,在django中flashsession叫做message,点我django中的message支持多种级别的消息,比如info,success等,而且还支持不同的backend,可以根据业务自行决定使用那种backend,或者自定义backend
富国沪深
TA贡献1790条经验 获得超9个赞
可以使用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
添加回答
举报
0/150
提交
取消