你好我是django的新手,
我正在使用django创建一个身份验证系统。
用户登录后,我将该值存储在会话中。
user = authenticate(username=username, password=password)
request.session['mid'] = user.id
当我刷新时,我可以收到会话ID
uid = request.session['mid']
但我不知道如何从用户ID获取userdatas。任何人都可以告诉我如何使用用户ID获取用户对象。
答案 0 :(得分:4)
使用简单的.get()
查询。
try:
uid = request.session['mid']
userobj = User.objects.get(id=uid)
except User.DoesNotExist:
#handle case when user with that id does not exist
...
答案 1 :(得分:1)
当然,您可以将用户ID存储在request.session
中,并查询ID
手动使用django ORM。
但是在更高级别安装SessionMiddleware
和AuthenticationMiddleware
中间件之后,Django可以将此身份验证框架挂钩到其请求对象系统中。我相信大多数django项目都会使用下面的代码从Web请求中获取经过身份验证的用户。
if request.user.is_authenticated():
user = request.user