python - 尝试在 Django 中遍历 session 字典时出现 KeyError 0

标签 python django dictionary keyerror

我正在尝试遍历 session 变量以打印出其所有内容。

for s in request.session:
    print str(s)

产生的错误如下

KeyError at /<app name>/searchResults/
0

具有以下回溯。

/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in get_response
    115. response = callback(request, *callback_args, **callback_kwargs)

/<path to django app>/views.py
    106. for s in request.session:

/usr/local/lib/python2.7/dist-packages/django/contrib/sessions/backends/base.py in __getitem__
    46 return self.__session[key]

知道“0”作为错误意味着什么吗?我以前从未见过这种事。

最佳答案

迭代 session 值的正确方法是 request.session.itervalues() - 基本 session 类公开与标准字典相同的键/值/项目选项。到目前为止,我不确定它在哪里获取 for 循环找到的值,但它不是值。

关于python - 尝试在 Django 中遍历 session 字典时出现 KeyError 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603074/

相关文章:

python - 如何在 Google App Engine 上对 Django View 进行单元测试?

python - 在10,000位数字中找到13个相邻数字的最大乘积

Django:Django + django-registration + jinja 的 View 问题

python - Haystack Whoosh 没有索引所有内容

Ruby - 将文件解析为哈希

arrays - 字典 [字符串 : [String]] in Swift

python - SQLAlchemy/MySQL 序列化访问死锁

python - 使用 Python 查找最佳拟合参数

json - Django:使用 JSON 数据创建和保存模型

python - 将 KeyErrors 和 IndexErrors 保存到列表/字典