环境:

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重定向数据传输的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。