У объекта 'AnonymousUser' нет атрибута '_meta' | Django

Возникает ошибка при аутентификации пользователя,

КОД

settings.py

AUTH_USER_MODEL = 'Authentication.User'

AUTHENTICATION_BACKENDS = (
    ('django.contrib.auth.backends.ModelBackend'),
    ('Authentication.auth.CustomAuthEmailBackend.EmailAuthBackend'),
)

Custom Backend

from django.contrib.auth.models import User
from django.contrib.auth.backends import BaseBackend


class EmailAuthBackend(BaseBackend):

    def Authenticate(self, request, email, password):
        try:
            user = User.objects.get(email=email)
            success = user.check_password(password)

            if success:
                return user

        except User.DoesNotExist:   
            pass
        return None

    def get_user(self, uid):
        try:
            return User.objects.get(pk=uid)
        except:
            return None

views.py

    user_id = 1
    password = *******
    user = User.objects.get(pk=user_id)
    user.unique_username = unique_username
    userid = int(user_id)
    user.custom_user_id = createUserUnqiueId(userid)
    user.is_active = True
    useremail = user.email
    user.save()

    user = auth.authenticate(request, email=useremail, password=password, backend='Authentication.auth.CustomAuthEmailBackend.EmailAuthBackends')
    auth.login(request, user, backend='Authentication.auth.CustomAuthEmailBackend.EmailAuthBackend')


    return redirect('index')

ОБЪЯСНЕНИЕ КОДА

  • Работа с логином по электронной почте путем переопределения логина имени пользователя.
  • Затем в аутентификации я написал пользовательскую аутентификацию, но иногда она работает нормально, а по умолчанию выдает ошибку, а иногда пользовательская аутентификация back-end выдает ошибку, а аутентификация back-end по умолчанию работает нормально. Почему?
  • Также, если бэкэнд аутентификации работает нормально на localhost, он выдает ошибки после загрузки на панель C.

ОШИБКА

enter image description here

AttributeError at /auth/activate/Mjc/atr5z0-1d1d9f0050ff97fec5e766fd2418b520/s%2523f%253FO%253E%2560!c%257CK-0B92
'AnonymousUser' object has no attribute '_meta'
Request Method: POST
Request URL:    http://app.barter.monster/auth/activate/Mjc/atr5z0-1d1d9f0050ff97fec5e766fd2418b520/s%252523f%25253FO%25253E%252560!c%25257CK-0B92
Django Version: 3.2.7
Exception Type: AttributeError
Exception Value:    
'AnonymousUser' object has no attribute '_meta'
Exception Location: /home4/barter/virtualenv/Barter/3.8/lib/python3.8/site-packages/django/utils/functional.py, line 247, in inner
Python Executable:  /home4/barter/virtualenv/Barter/3.8/bin/python3.8
Python Version: 3.8.6
Python Path:    
['',
 '/opt/alt/python38/bin',
 '/home4/barter/Barter',
 '/home4/barter/virtualenv/Barter/3.8/lib64/python38.zip',
 '/home4/barter/virtualenv/Barter/3.8/lib64/python3.8',
 '/home4/barter/virtualenv/Barter/3.8/lib64/python3.8/lib-dynload',
 '/opt/alt/python38/lib64/python3.8',
 '/opt/alt/python38/lib/python3.8',
 '/home4/barter/virtualenv/Barter/3.8/lib/python3.8/site-packages']
Server time:    Wed, 29 Sep 2021 20:00:14 +0000
Вернуться на верх