在我的views.py中,在某些视图中,我有uid = request.user.id
这给出了我现在登录的用户的ID,它显示在我的模板上并且显示正确。但是同样的id也应该作为auth_user_id发送到会话,根据会话表/ admin / sessions /这里没有显示。无论登录哪个用户,它始终显示{u'_auth_user_hash': u'ca7e738308ed261de83fe3c80c9a4657b37e8c81', u'_auth_user_id': u'2', u'_auth_user_backend': u'django.contrib.auth.backends.ModelBackend'}
。 uid = 2是我表中的超级用户(admin)。我似乎无法弄清楚为什么会这样?有任何想法吗?
会话表中也只存储一个会话。
答案 0 :(得分:0)
问题可能出在您的会话存储上。如果您使用的是数据库后端,则django_session数据库表会不断增长。 Django在django_session
数据库表中添加一行。每次会话数据更改时,Django都会更新此行。如果用户手动注销,则Django删除该行。但是,如果用户未注销,则该行将永远不会被删除。
从表中删除所有条目,然后重试。在python shell中使用此命令
python manage.py shell(to open shell)
from django.contrib.sessions.models import Session
Session.objects.all().delete()