Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python gae会话不删除数据_Python_Google App Engine_Session_Session State_Session Variables - Fatal编程技术网

Python gae会话不删除数据

Python gae会话不删除数据,python,google-app-engine,session,session-state,session-variables,Python,Google App Engine,Session,Session State,Session Variables,我在gae会话库中添加了一些功能,这样我就可以拥有flash数据;也就是说,数据只存在于某个用户的两个请求之间。以下是我添加的代码: def set_flashdata(key,val=None): logging.info('set flashdata '+key+'='+val ) sess = get_current_session() if val: sess['flash_'+key]=val return for x i

我在gae会话库中添加了一些功能,这样我就可以拥有flash数据;也就是说,数据只存在于某个用户的两个请求之间。以下是我添加的代码:

def set_flashdata(key,val=None):
    logging.info('set flashdata '+key+'='+val )
    sess = get_current_session()
    if val:
        sess['flash_'+key]=val
        return
    for x in key:
        sess['flash_'+x]=key[x]

def get_flashdata():
    sess = get_current_session()
    flash = {}
    for key in sess:
        if(key.startswith("flash_")):
            flash[key[6:]]=sess.pop(key)
            logging.info('received flashdata '+key+'='+sess[key])
    logging.info('fetched '+str(len(flash))+' flash items')
    return flash

def has_flashdata():
    sess = get_current_session()
    for key in sess:
        if key.startswith('flash_'):
            return True
    return False
但当我运行get_flashdata时,我得到了以下信息:

File "/Users/frederikcreemers/Documents/projects/web/myproject/gaesessions/__init__.py", line 533, in get_flashdata
    logging.info('received flashdata '+key+'='+sess[key])
File "/Users/frederikcreemers/Documents/projects/web/myproject/gaesessions/__init__.py", line 393, in __getitem__
    return self.data.__getitem__(key)
KeyError: 'flash_msg_type'

因此,程序说键mg_类型不在sess中,但由于我在迭代sess的键,它一定在那里。

在上面的一行中,您调用了
pop
,从字典中删除该项。

在上面的一行中,您调用了
pop
,从字典中删除该项