我正在使用中间件来获取某个用户的会话,为此,我在Ajax的头部请求该用户的用户名和csrfToken。
如果可以仅使用该数据手动获取某个用户的会话? (会议在请求期间关闭,或由其他问题提出)
如果是的话,你能给我一些例子吗?
PS:
我想要访问它的用户的会话使用此代码生成了它的CSRF:
from django.middleware.csrf import _get_new_csrf_key as get_new_csrf_key
new_key = get_new_csrf_key()
return HttpResponse(
simplejson.dumps({'token': new_key}),
mimetype='application/json'
)
答案 0 :(得分:1)
您需要手动创建用户的会话,才能重新开始此会话。
正如你在这里看到的: https://docs.djangoproject.com/en/dev/topics/http/sessions/
from django.contrib.sessions.backends.db import SessionStore
s = SessionStore()
# stored as seconds since epoch since datetimes are not serializable in JSON.
s['last_login'] = 1376587691
s.save()
s.session_key
#'2b1189a188b44ad18c35e113ac6ceead'
s = SessionStore(session_key='2b1189a188b44ad18c35e113ac6ceead')
s['last_login']
#1376587691
如果你知道session_key,你可以再次使用它。