Mysterious

在setting内增加

# Application definition
AUTHENTICATION_BACKENDS = (
    \'users.views.CustomBackend\',
)

在views下重写authenticate方法,让支持邮箱和手机登陆

from django.contrib.auth.backends import ModelBackend
from django.db.models import Q

class CustomBackend(ModelBackend):
    def authenticate(self, username=None, password=None, **kwargs):
        try:
            user = UserProfile.objects.get(Q(username=username) | Q(email=username) | Q(mobile=username))
            if user.check_password(password):
                return user
        except Exception as e:
            return None

然后就可以实现数据库中的手机和邮箱也能登陆了,不用仅限用户名了

分类:

技术点:

相关文章:

  • 2021-11-24
  • 2021-11-11
  • 2022-01-02
  • 2021-11-23
  • 2022-01-02
  • 2021-10-04
  • 2021-08-03
猜你喜欢
  • 2021-11-03
  • 2022-01-02
  • 2021-11-23
  • 2021-11-15
  • 2021-11-03
  • 2021-10-14
  • 2021-09-14
相关资源
相似解决方案