【问题标题】:gae-sessions not deleting datagae-sessions 不删除数据
【发布时间】:2011-12-05 22:03:43
【问题描述】:

我在 gae-sessions 库中添加了一些功能,以便我可以拥有闪存数据;这意味着,仅存在于某个用户的 2 个请求之间的数据。这是我添加的代码:

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_type 不在 sess 中,但由于我正在迭代 sess 的键,所以它必须在那里。

【问题讨论】:

    标签: python google-app-engine session session-state session-variables


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      相关资源
      最近更新 更多