我正在使用djangoappengine。当我尝试创建一个新用户、验证该用户并登录时,我会得到以下错误:
我的代码很简单,看起来像这样:
AttributeError: 'AnonymousUser' object has no attribute 'backend'
。我的代码很简单,看起来像这样:
user = User.objects.create_user(username, username, password)
user.set_password(password)
user.save()
user = django.contrib.auth.authenticate(username=username, password=password)
django.contrib.auth.login(request, user)
我只在生产环境偶尔遇到以下错误:
web req_create: 'AnonymousUser' object has no attribute 'backend'
Traceback (most recent call last):
File "/base/data/home/apps/s~XXXXX/1.356802202883392818/XXXX/XXX.py", line 332, in req_create
login(request, user)
File "/base/data/home/apps/s~XXXXX/1.356802202883392818/django/contrib/auth/__init__.py", line 82, in login
request.session[BACKEND_SESSION_KEY] = user.backend
AttributeError: 'AnonymousUser' object has no attribute 'backend'
我不确定,但我有一种不好的预感,这个异常是由于高复制数据存储和其最终一致性引起的。我认为authenticate()
保存了用户值,并且login()
进行了查询,但用户值尚未传播到HRDS。有人可以确认这是真的吗?如果是,该如何修复?