首先,我要感谢您观看我的帖子! 我已经使用django两个月来进行企业项目。我是网络发展和django开发中的一种法国菜鸟:D
这是我的问题:在一个视图中我在request.session中设置了一个键但是在一个render_to_response和一个ajax查询之后这个键就消失了:(
这是我设置密钥的功能
def check(request):
if request.method == 'POST':
RequestContext(request)
try:
m = MsGnlMember.objects.get(mbr_nom=request.POST['username'])
except (ObjectDoesNotExist):
return render_to_response('login.html', {'BAD': True, 'username' : 'Unknown User'})
if m.mbr_mdp == request.POST['mdp']:
Here ===> request.session['MBR_INSTANCE'] = m
return index(request)
def index(request):
username = request.session["MBR_INSTANCE"].mbr_nom
request.session.modified = True # does not fix my problem
getNote = GetNoteForm()
saveNote = SaveNoteForm()
search = SearchForm()
return render_to_response('index.html', {'FORM_GETNOTE' : getNote,
'FORM_SAVENOTE' : saveNote,
'FORM_SEARCH' : search,
'USERNAME' : username},
context_instance=RequestContext(request))
此代码运行良好(根据查询结果在index.html上更改用户名)但是当我在页面上的index.html启动ajax查询时,如下所示:
def arbo_get_acts(request):
if request.method == 'POST' and request.is_ajax():
if "MBR_INSTANCE" in request.session:
acts = MsWriAct.objects.filter(act_mbr=request.session['MBR_INSTANCE'])
acts_serialised = serializers.serialize('json', acts)
return HttpResponse(acts_serialised, 'application/json')
else:
acts_serialised = {}
return HttpResponse(acts_serialised, 'application/json')
我从不输入我的if语句:'(snif snif 所以请解释我做错了什么或我不明白
编辑:好的每个人,昨天我在家测试我的代码并且它工作得很好。在工作中它继续失败。经过漫长的旅程和艰苦的劳动,我找到了。当我这么想的时候它倾斜了 "为什么它在家里工作而不是在工作"。在家里我在工作窗口使用Linux。 ........ 首次谷歌搜索: 这是我的耻辱:https://code.djangoproject.com/ticket/9084 基于文件的会话不会在Windows上存储任何数据
T_T如何放松两天的发展
答案 0 :(得分:0)
当您对会话进行更改时,还需要在返回响应之前设置request.session.modified = True
。
更多信息: