浅谈在django中使用redirect重定向数据传输的问题
环境:
python3.6.4
django2.0.6
使用重定向redirect(‘urlname')如果不需要传数据的话那这样就OK了如果要传数据的话我琢磨了半天还是决定用session来传输
所以就这么干:
request.session['key_name]=value
request.session['msg']=u'用户未登录'
然后在模板中使用:
{{request.session.username}}
{#输出username保存的值#}
{#{{request.session['username'}}以及{{request.session.get('username')}}和{%request.session.get('username')%}都是错误的写法#}}
就可以了。嗯搞定。
补充知识:在django中,redirect如何传递message。
众所周知,在django中,默认的message,只能在同一个request中传递。
但如果在请求过程中,使用了redirect跳转,那么,这个一次性的message就会失败,
无法在前端给用户提示。
https://stackoverflow.com/questions/29673537/django-redirect-with-context/29673951#29673951
网上提供的思路,有如下两种:
一,使用message框架中的storeage存储实现。我觉得如果消息使用得频繁,且消息比较长时使用。
二,使用session来实现,这个实现更简单,但不可太频繁使用。
下面,就使用第二种来试试吧。
1,在有redirect的view中,加入session。
#跨request传递message,使用session。 self.request.session['create_app']=name returnredirect(reverse_lazy('app:list',args=()))
2,在需要获取message的view中,加入消息。
#获取创建组件成功的session提示,同request传递message。 create_app=self.request.session.pop('create_app',False) ifcreate_app: messages.info(self.request,'{}创建成功,请编辑它的配置!'.format(create_app))
3,在前端网页中,显示此message。
{%formessageinmessages%}× 组件创建提示!{{message}}.
4,样子
以上这篇浅谈在django中使用redirect重定向数据传输的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。