姜戈。当我们登录时,我们如何自动从 AnonymousUser 转移到 AbstractBaseUser
Django. When we login how we are automatically moved from AnonymousUser to AbstractBaseUser
我注意到当我们登录 Django 时,我们不再是 AnonymousUser(在 models.py 中),而是成为 AbstractBaseUser(在 models.py 中)。
django 如何处理这个变化?
基本上是在django/contrib/auth/middleware.py的AuthenticationMiddleware
里面:request.user = SimpleLazyObject(lambda: get_user(request))
从同一模块调用 get_user
:
最后 get_user
来自 django/contrib/auth/__init__.py 其中 returns return user or AnonymousUser()
。
您很可能对最后一个感兴趣。
我注意到当我们登录 Django 时,我们不再是 AnonymousUser(在 models.py 中),而是成为 AbstractBaseUser(在 models.py 中)。
django 如何处理这个变化?
基本上是在django/contrib/auth/middleware.py的AuthenticationMiddleware
里面:request.user = SimpleLazyObject(lambda: get_user(request))
从同一模块调用 get_user
:
最后 get_user
来自 django/contrib/auth/__init__.py 其中 returns return user or AnonymousUser()
。
您很可能对最后一个感兴趣。