在我的应用程序的一部分,我有一些访问者的自定义设置 . 当用户加载页面时,我尝试检查请求的自定义设置,如果存在设置,我会在页面中进行自定义 .
我在Template Context Processor这样做
def shared_values(request):
show_help = request.session.get('show_help', True)
return {
'show_help': show_help,
}
这是完美的工作,但我有问题 - 每次,当我检查会话django在Session表中创建新条目,如果之前不存在条目 .
如何在不创建新会话的情况下查看会话?
编辑1:
然后我禁用检查会话密钥,我看到django没有为请求创建任何会话条目 .
-
我在第一个浏览器(chrome)中以管理员身份登录并删除所有会话(mydself除外)
-
编辑上下文处理器,因此我不访问项目中的会话:
show_help = True
-
在不同的浏览器中打开页面(firefox)
-
切换到第一个浏览器并检查是否出现了新的会话对象,但没有任何更改 - 只存在一个会话对象 .
编辑2:
我用django 1.4.1
1 回答
Docs:
所以每次你发出请求 - 如果它已经存在,将创建会话 . 应用
context_processor
时 - 会话已存在 . 你不应该担心这一点 .