2013-03-08 95 views
0
@dajaxice_register 
def sendMailByIndex(request,confid,mailentyid,start_id,count): 
    dajax = Dajax() 
    for i in range(1,100000): 
     print request.session.session_key 
     request.session['percent']=i 
     time.sleep(1) 
    return dajax.json() 
@dajaxice_register 
def getProgress(request): 
    dajax = Dajax() 
    print request.session.session_key 
    print request.session['percent'] 
    dajax.add_data(random.randint(1,100), 'recProgress') 
    return dajax.json() 

在功能sendMailByIndex我想更改session['percent'],它會運行很長時間。然後,我想調用getProgress來獲取進度。 但它不起作用,session['percent']不會改變? 如何改變它?django會話,函數必須返回會話才能修改?

回答

0

默認情況下會話在請求結束時保存到數據庫中。請撥打save明確:

@dajaxice_register 
def sendMailByIndex(request, confid, mailentyid, start_id, count): 
    dajax = Dajax() 
    for i in range(1, 100000): 
     print request.session.session_key 
     request.session['percent'] = i 
     request.session.save() 
     time.sleep(1) 
    return dajax.json()