【发布时间】:2016-01-16 10:26:18
【问题描述】:
所以我有一个大致结构如下的会话变量:
request.session['selected_courses'] = {
'2': {'num_spots_available': 3,
attendees = [ {'first_name': 'Jon', 'last_name': 'Kan'}, ... ]}
...
}
“selected_courses”下的每个键都是一个课程 ID。
我需要从所选课程中删除参加者 i.e {'first_name': 'Jon', 'last_name': 'Kan'}。 当我尝试执行此操作时,会话实际上并没有删除与会者。当我尝试删除另一个与会者时,即使我的代码之前删除了前一个与会者,它也会立即弹回会话!但是,在重新运行此代码后,它最终将与会者从会话中删除。
views.py 中的代码(我从 POST 中提取数据,因为我正在执行 AJAX 请求并且知道数据不是由用户输入的):
course_id = str(request.POST['course_id'])
first_name = str(request.POST['first_name'])
last_name = str(request.POST['last_name'])
request.session['selected_courses'][str(course_id)]['attendees'] = [a for a in request.session['selected_courses'][str(course_id)]['attendees']
if a['first_name'] != first_name or a['last_name'] != last_name]
request.session.modified =True
所以我尝试了 request.session.modified 属性(如上所示)以及SESSION_SAVE_EVERY_REQUEST = True,但都没有成功。 (请注意:我对 Django 还是很陌生)。
【问题讨论】:
标签: python django session request