为了账号安全,请及时绑定邮箱和手机立即绑定

Django视图间传递参数

Django视图间传递参数

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

2 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

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

TA贡献1790条经验 获得超9个赞

可以使用HttpResponseRedirect来实现,在view1获取到的数据通过url参数的形式传递给view2,或者通过写cookie或者session的方式来保存。
当然上面的方式都只推荐在一些非敏感数据的传递,敏感数据的话还是使用数据库来作保存。
下面给出通过redirect方式的示例代码
fromdjango.views.genericimportRedirectView
classView1(RedirectView):
defpost(self,request,*args,**kwargs):
#getyourdatafromrequest...
post_data_json=request.POST
response=HttpResponseRedirect(reverse('urlname2')+"?args1="+json.dumps(order_items))
returnresponse
                            
查看完整回答
反对 回复 2019-04-07
  • 2 回答
  • 0 关注
  • 328 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信