首页 > 解决方案 > 产品中 Django 站点上 /url/ 处的 KeyError。在本地服务器上看不到。使用 Django 会话

问题描述

我需要在 Django 中保存会话数据,并在用户单击按钮时执行一些操作。我在 Django 会话中存储查询后处理的数据。即使在我尝试同时从不同会话同时访问服务器之后,这在我的本地服务器上也运行良好。但是,当被推送到 prod 时,当我第二次访问该站点时,这会在 /url/ 处显示关键错误。数据在第一时间就可以正常使用。

我查找了一些解决方案并尝试将 SESSION_ENGINE 添加为“django.contrib.sessions.backends.cached_db”。我在 settings.py 中添加了 SESSION_SAVE_EVERY_REQUEST = True。我还尝试分别为每个会话密钥保存数据,但这也不起作用。

我将数据保存到这样的会话中:

request.session['varname'] = varname

并以相同的方式检索它:python varname = request.session['varname']

预期的行为将是每次成功检索会话数据,就像在本地服务器上一样。但是,在 prod 上,第一次之后不会检索数据。

标签: pythondjangopython-2.7sessiondjango-1.11

解决方案


推荐阅读