request.user.id的值是如何确定的?

时间:2016-07-24 01:57:40

标签: django django-views django-users

According to documentation,Django收到请求后设置的request.user.id的值。 Django用来确定其值的请求中有哪些信息,并且它是否会在数据库中执行此操作?

我最终寻找一种有效的(没有额外的请求或模板标签)方法来获取非秘密和持久的唯一ID(不一定必须是主键,最好不是太多字符) Javascript和Django中的当前用户。这个唯一的ID将被添加到用户上传到S3之前;因为它是唯一的,一个用户的文件名不会与另一个用户的文件名冲突。

1 个答案:

答案 0 :(得分:0)

如文档中所述:

  

Django使用会话和中间件将身份验证系统挂钩到请求对象中。

这是通过django中的 AuthenticationMiddleware 来实现的。

因此,只要调用来自login(request,user)的{​​{1}},django就会在会话中添加所需的数据。 [view docs]

在此之后,在每次请求时,您都会获得一个django.contrib.auth对象,直到您调用request.user为止。 [view docs]