Python 德扬戈。当我们登录时,我们是如何从匿名用户自动移动到AbstractBaseUser的

Python 德扬戈。当我们登录时,我们是如何从匿名用户自动移动到AbstractBaseUser的,python,django,login,Python,Django,Login,我注意到,当我们登录Django时,我们不再是匿名用户(在models.py中),而是成为AbstractBaseUser(在models.py中) django是如何处理这一变化的?基本上,它位于django/contrib/auth/middleware.py的认证中间件中: 从同一模块调用get\u user: 最后,get\u userfromdjango/contrib/auth/\uuuu init\uuuuuuuuuuuuuuy返回。 您很可能对最后一个感兴趣。不清楚您所说的“d

我注意到,当我们登录Django时,我们不再是匿名用户(在models.py中),而是成为AbstractBaseUser(在models.py中)


django是如何处理这一变化的?

基本上,它位于django/contrib/auth/middleware.py的
认证中间件中:

从同一模块调用
get\u user

最后,
get\u user
fromdjango/contrib/auth/\uuuu init\uuuuuuuuuuuuuuy返回。
您很可能对最后一个感兴趣。

不清楚您所说的“django如何处理此更改?”是什么意思。明确将匿名用户移动到AbstractBaseUser的代码在哪里。它位于django.contrib.auth.models内部。检查它。我在问题中说它在django.contrib.auth.models.py中,但是类之间的变化发生在哪里@Karlso它基本上是以饼干的形式存储的?到底是什么“以饼干的形式存储”?用户对象?它可能取决于您使用的,但默认的(
django.contrib.sessions.backends.db
)将会话及其所有属性存储在服务器端,并仅在cookie中保留。