浅谈在django中使用redirect重定向数据传输的问题


Posted in Python onMarch 13, 2020

环境:

python 3.6.4

django2.0.6

使用重定向redirect(‘url name') 如果不需要传数据的话那这样就OK了 如果要传数据的话 我琢磨了半天 还是决定用session来传输

所以 就这么干:

request.session['key_name] = value

request.session['msg'] = u'用户未登录'

然后在模板中使用:

<h1>{{ request.session.username }}</h1> {# 输出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
return redirect(reverse_lazy('app:list', args=()))

2,在需要获取message的view中,加入消息。

# 获取创建组件成功的session提示,同request传递message。
create_app = self.request.session.pop('create_app', False)
if create_app:
   messages.info(self.request, '{}创建成功,请编辑它的配置!'.format(create_app))

3,在前端网页中,显示此message。

{% for message in messages %}
<div class="alert alert-success alert-dismissible fade in" role="alert">
  <button type="button" class="close" data-dismiss="alert" aria-label="Close">
    <span aria-hidden="true">×</span>
  </button>
  <strong>组件创建提示!</strong> {{ message }}.
</div>
{% endfor %}

4,样子

浅谈在django中使用redirect重定向数据传输的问题

以上这篇浅谈在django中使用redirect重定向数据传输的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python制作CSDN免积分下载器
Mar 10 Python
Python可变参数函数用法实例
Jul 07 Python
python实现闹钟定时播放音乐功能
Jan 25 Python
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
python使用itchat实现手机控制电脑
Feb 22 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
python 实现多维数组(array)排序
Feb 28 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
python中return不返回值的问题解析
Jul 22 Python
Pandas之缺失数据的实现
Jan 06 Python
在Django中预防CSRF攻击的操作
Mar 13 #Python
Anaconda+Pycharm环境下的PyTorch配置方法
Mar 13 #Python
Pycharm中切换pytorch的环境和配置的教程详解
Mar 13 #Python
django 取消csrf限制的实例
Mar 13 #Python
django-csrf使用和禁用方式
Mar 13 #Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
Mar 13 #Python
python爬虫实现获取下一页代码
Mar 13 #Python
You might like
PHP新手上路(二)
2006/10/09 PHP
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
JavaScript实现点击按钮就复制当前网址
2015/12/14 Javascript
jQuery文字横向滚动效果的实现代码
2016/05/31 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
jQuery实现点击图标div循环放大缩小功能
2018/09/30 jQuery
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python单例模式实例详解
2017/03/01 Python
Python OpenCV对本地视频文件进行分帧保存的实例
2019/01/08 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
tensorflow如何批量读取图片
2019/08/29 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
python 装饰器的使用示例
2020/10/10 Python
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
表扬信格式
2014/01/12 职场文书
团日活动总结模板
2014/06/25 职场文书
三八妇女节致辞
2015/07/31 职场文书
《秋思》教学反思
2016/02/23 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
SQL中的连接查询详解
2022/06/21 SQL Server