Tôi đang sử dụng djangoappengine. Khi tôi thử tạo người dùng mới, xác thực người dùng đó và đăng nhập họ, tôi nhận được lỗi sau AttributeError: 'AnonymousUser' object has no attribute 'backend'
.Django App Engine: AttributeError: đối tượng 'AnonymousUser' không có thuộc tính 'backend'
Mã của tôi là đơn giản và trông giống như:
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)
tôi chỉ nhận được lỗi sau về sản xuất và chỉ thỉnh thoảng mới:
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'
Tôi không chắc chắn, nhưng tôi có linh cảm xấu đó ngoại lệ này là do lưu trữ dữ liệu nhân rộng cao và tính nhất quán cuối cùng của nó. Tôi nghĩ rằng authenticate()
lưu giá trị người dùng và rằng login()
thực hiện truy vấn nhưng giá trị người dùng vẫn chưa được truyền vào HRDS. Bất cứ ai có thể xác nhận điều này là đúng? Nếu vậy, làm thế nào nó sẽ được cố định?
Vui lòng vượt qua lỗi gốc với lần truy nguyên. – Nilesh
Đã thêm dấu vết. – speedplane