首页 > 其他分享 >Django authenticate() 函数查找不到与提交的用户名和密码匹配的用户,则会返回 None。

Django authenticate() 函数查找不到与提交的用户名和密码匹配的用户,则会返回 None。

时间:2023-05-17 12:22:28浏览次数:47  
标签:None 用户名 身份验证 Django 密码 authenticate user

在你的user APP下面添加一个utils.py文件

class UsernameMobileBackend(ModelBackend):

    def authenticate(self, request, username=None, password=None, **kwargs):
        """
        重写人做方法
        """
        #使用账号查询运河
        #如果用户名查询到用户,就校验密码
        #密码校验成功就返回user
        user = get_user_by_account(username)
        if user and user.check_password(password):
            return user
        else:
            return None

然后在你的配置文件里面添加

AUTHENTICATION_BACKENDS = ['users.utils.UsernameMobileBackend']

就可以解决了.

如果不可以就:

  1. 检查您的用户名和密码是否正确,并确保它们与数据库中的数据一致。

  2. 确保您正在使用正确的身份验证后端。如果您使用的是 Django 默认的身份验证后端,可以在 AUTHENTICATION_BACKENDS 设置中检查配置。

  3. 确认您的数据库中存在用户数据。可以使用 Django shell 进行验证。

  4. 确认您的 User 模型继承自 Django 的 AbstractBaseUser 或 AbstractUser。如果您的 User 模型未正确配置,则可能导致身份验证失败。

如果以上步骤都没有解决您的问题,您可以检查 Django 日志文件以查看是否有任何报错信息。另外,也可以尝试在 Django shell 中手动验证用户信息,以检查是否存在任何问题。

标签:None,用户名,身份验证,Django,密码,authenticate,user
From: https://www.cnblogs.com/wzcc/p/17408244.html

相关文章

  • Django4全栈进阶之路24 项目实战(报修类型表):CKEditor富文本
    CKEditor是一个强大的富文本编辑器,可以用于在网站或应用程序中创建和编辑内容。以下是在安装和使用CKEditor的一般步骤:安装CKEditor:下载CKEditor:访问CKEditor官方网站(https://ckeditor.com/)并下载适用于您的项目的CKEditor版本。解压文件:将下载的CKEditor压缩包解压到您的项目......
  • Django-rest-framework框架
    web应用模式、API接口、接口测试工具postman、如何在浏览器中测试、restful规范、序列化反序列化、基于Django原生编写五个接口、drf介绍和快速使用、drf之APIView源码分析......
  • Django-rest-framework框架
    目录一、web应用模式二、API接口三、接口测试工具postmanpostman介绍postman下载与使用四、如何在浏览器中测试五、restful规范(重要)六、序列化反序列化七、基于Django原生编写五个接口八、drf介绍和快速使用概念特点(了解一下)安装使用drf编写五个接口九、drf之APIView源码分析基......
  • django系列-服务和环境配置(陆续完善中···)
    一、Mysql1、安装服务端yuminstallmariadb-server-ymariadb-server.x86_641:5.5.68-1.el7#版本2、安装客户端yuminstallmariadb-y#软件包1:mariadb-5.5.68-1.el7.x86_64已安装并且是最新版本3、服务配置4、帐号初始化二、Redis三、Python四、虚拟环境......
  • Django用递归实现查询所有子部门逻辑
    假设你已经定义好了部门模型Department,该模型包含以下字段:classDepartment(models.Model):name=models.CharField(max_length=100)parent_department=models.ForeignKey('self',on_delete=models.CASCADE,null=True,blank=True)其中,name表示部门名称,paren......
  • Unable to find Gradle tasks to build: [:]. Build mode: ASSEMBLE. Tests: None
    从Github上下载了一个项目,运行时报如下错误:UnabletofindGradletaskstobuild:[:].Buildmode:ASSEMBLE.Tests:None解决办法1、修改Gradle版本;2、项目中缺失setting.gradle文件,从其他项目中复制一份过来。   ......
  • django系列-路由系统
    一、传统路由(path)#urls.pyfromdjango.contribimportadminfromdjango.urlsimportpathfromapps.webimportviewsurlpatterns=[path('home/',views.home),path('news/<int:nid>/edit/',views.news),path('article......
  • django系列-起源&MTV设计模式
    一、django起源Django是一个开放源代码的Web应用框架,使用Python语言编写完成。由于Python语言是跨平台的,所以,不论操作系统是Windows、Linux还是macOSX,都可以开发Django应用。Web框架是一套组件,提供通用的设计模式,能够最大程度地降低开发Web站点的难度。Django的设计目标就是使开......
  • Django文件上传
    form-data格式发送form-data格式上传文件数据,文件对象存储在类字典对象request.FILES中#print(request.POST.get('xxx'))#xxx#print(request.POST.get('yyy'))#yyy#print(request.FILES)#<MultiValueDict:{'file':[<InMemoryUploadedFile:640.......
  • 常见问题解决 --- pip报错【WARNING: Retrying (Retry(total=4, connect=None, read=N
    问题现象【WARNING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,st】解决方法:出现该错误信息是因为pip源连接证书验证失败,增加参数 --trusted-host例如pipinstallmatplotlib-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.al......