Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

auth_backends.py 855B

1234567891011121314151617181920212223242526
  1. from django.contrib.auth.models import User
  2. from django.contrib.auth.backends import ModelBackend
  3. class Emailbackend(ModelBackend):
  4. def authenticate(self, email=None, password=None, *args, **kwargs):
  5. if email is None:
  6. if not 'username' in kwargs or kwargs['username'] is None:
  7. return None
  8. email = kwargs['username']
  9. # Check if we're dealing with an email address
  10. if '@' not in email:
  11. return None
  12. # We lowercase the host part as this is what Django does when saving a
  13. # user
  14. local, host = email.split('@')
  15. clean_email = local + '@' + host.lower()
  16. try:
  17. user = User.objects.get(email=clean_email)
  18. except User.DoesNotExist:
  19. return None
  20. if user.check_password(password):
  21. return user