web.py使用session时报错AttributeError的解决办法
作者: 郑晓 分类: Python 发布于: 2015-03-21 10:10 浏览:8,479 评论(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 条留言
有段时间没有更新了
我还是没弄好
肯定是你的打开方式不对 😛
是姿势不对。
找了很久,谢谢你
过来收藏一下你的博客,以后方便联系,呵呵
个人博客来看看你啦