首先,在我想回答这个问题之前,我想说如果有更合适的方法来完成这个,请告诉我,因为我可能会使用它。
好的,所以在我的应用程序中,我需要添加一个 REST API 以允许用户登录、更改一些内容以及注销,而无需使用浏览器。我想我将拥有我编写的 api_login 视图将返回他们的 session_key,然后为每个请求传递会话密钥。比如那时
def login(request):
... all the django auth code I have
# login adds the information to the request right?
login (request, user)
return simplejson.dumps({'key': request.session.session_key})
我面临的问题是稍后尝试使用session_key
如下,但这奇怪地失败了
key = request.GET['key']
my_session = SessionStore(session_key=key)
my_session.session_key == key
>>> True
my_session.values()
>>> []
my_session.session_key == key
>>> False
如您所见,我使用正确的键从数据库中检索 SessionStore 对象。但是当我尝试从中检索任何值时,它返回空,甚至更改其中的基础键。对此的任何建议表示赞赏。