django中的dict request.session重置为之前的值

时间:2017-01-04 09:01:41

标签: django session request

根据任务,我必须使Django 1.6与Long轮询技术聊天(不使用redis,websokets等)。对于授权用户,我在request.session dict中存储每个线程中的最后一条消息ID(对话框):

request.session['admin_lastid'] = {'dialogue1': 112, 'dialogue2': 34}

我有两个长轮询的观点。一个def get_new(request)扫描正在进行的对话并在新消息时更新dict:

request.session['admin_lastid']['dialogue1'] = current_thread.lastid
request.session.save()
request.session.modified = True

另一个视图def scan_threads(request)会扫描所有对话以获取新消息,此视图会从request.session['admin_lastid']中读取值。

但我看到会话的奇怪行为。当视图get_new记录在request.session['admin_lastid']新值中时,下一个视图scan_threads会考虑更新的值。但是当视图get_new再次启动时,他看到了旧值。为什么?无法理解......

0 个答案:

没有答案