Это на моей странице backends.py, но я не думаю, что это работает, потому что я передаю как адрес электронной почты, так и номер телефона, но не могу войти по номеру телефона.
from .models import UserModel
from django.db.models import Q
import logging
class MyAuthBackend(object):
def authenticate(self, email_or_phone_number=None, password=None):
try:
user = UserModel.objects.get(Q(email=email_or_phone_number) |
Q(phone_number=email_or_phone_number))
if user.check_password(password):
return user
else:
return None
except UserModel.DoesNotExist:
logging.getLogger("error_logger").error("user with login %s
does not exists" % login)
return None
except Exception as e:
logging.getLogger("error_logger").error(repr(e))
return None
def get_user(self, user_id):
try:
user = UserModel.objects.get(sys_id=user_id)
if user.is_active:
return user
return None
except UserModel.DoesNotExist:
logging.getLogger("error_logger").error("user with %(user_id)d
not found")
return None