gpt4 book ai didi

python - Django 中 request.user 与 get_user(request) 的区别?

转载 作者:行者123 更新时间:2023-12-05 01:03:42 24 4
gpt4 key购买 nike

我注意到有两种方法可以从请求中获取用户对象(假设用户已经登录并且 session 有效):

  • user = request.user
  • user = get_user(request) 其中 get_user() 是从 django.contrib.auth 导入的。

有什么区别? get_user() 似乎对请求 session 做了很多验证。

哪个更好?

最佳答案

‍‍‍‍request.user 实际上是用 get_user(request) 填充的。

发生在AuthenticationMiddleware:

request.user = SimpleLazyObject(lambda: get_user(request))

所以当你得到 request.user 时,你实际上得到的是 get_user(request) 结果。

关于python - Django 中 request.user 与 get_user(request) 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73769092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com