当前位置:博客首页>>Python >> 阅读正文

web.py使用session时报错AttributeError的解决办法

作者: 郑晓 分类: Python 发布于: 2015-03-21 10:10 浏览(3,524) 评论(7)


最近在学习web.py使用session时,经常会遇到AttributeError错误,大体报错内容是:
AttributeError: ‘ThreadedDict’ object has no attribute ‘xxxxx’
网上找的解决办法都是关闭web.py的调试模式,但有时关闭后也会报错,很是郁闷。

最后郑晓摸索出了使用session时需要注意的几点,在这里记录一下:

1. 首先请关闭调试模式:

web.config.debug = False

代码需加到import web后,调用web.application之前,像这样:

import web
web.config.debug = False
urls = ('/', 'index')
app = web.application(urls, globals())

2. 创建session时,加上initializer参数,给你的session设置个默认值,像这样:

session = web.session.Session(app, web.session.DiskStore('sessions'), initializer={'user':None, 'login':None})

按说不加initializer也应该可以使用啊,不知道为什么我不加的话,就会报错,不管你是不是判断了is not None,只要你调用了session.xxx就报错。

3.最囧的一点:删除之前创建的sessions文件。
上一步中,郑晓设置了将session以文件的形式储存到当前目录下的sessions目录中。所以在上二步确认无问题后,手动将sessions目录中的已存在的文件删除。不删除的话,程序还是使用的旧版session,还会报错- -!

4.have fun!

↓↓微信扫码请我吃份正宗的烤面筋,可带劲啦↓↓
       

本文采用知识共享署名-非商业性使用 3.0 中国大陆许可协议进行许可,转载时请注明出处及相应链接。

本文永久链接: https://www.zh30.com/web-py-session-attributeerror.html

web.py使用session时报错AttributeError的解决办法:目前有7 条留言

用户评论头像 励志小兴发表于 2015年04月08日 21:24[回复]

有段时间没有更新了

用户评论头像 健康零食发表于 2015年04月02日 15:35[回复]

我还是没弄好

    用户评论头像 郑晓发表于 2015年04月03日 11:42[回复]

    肯定是你的打开方式不对 😛

      用户评论头像 Bary发表于 2015年06月23日 00:50[回复]

      是姿势不对。

用户评论头像 情侣网名发表于 2015年03月28日 18:54[回复]

找了很久,谢谢你

用户评论头像 杨复然个人博客发表于 2015年03月27日 18:46[回复]

过来收藏一下你的博客,以后方便联系,呵呵

用户评论头像 顾建伟发表于 2015年03月21日 15:45[回复]

个人博客来看看你啦