Django身份验证始终失败并返回None

时间:2019-02-21 01:57:21

标签: django

我正在使用Django来实现注册和登录,但是在这里遇到了一些问题。

我的环境是Python3.7.2,Django 2.1.5和Sqlite3。我正在localhost(127.0.0.1:8000)上进行测试。

我试图用默认功能User.objects.create_user()创建一个用户,关键代码如下,其中userRegID,userRegPassword和userRegEmail是从前端获取的数据:

    user = User.objects.create_user(username = userRegID, password = userRegPassword, email = userRegEmail)
    user.first_name = userRegFirstName
    user.last_name = userRegLastName
    user.is_active = False
    user.is_staff = False
    user.is_superuser = False
    user.save()

然后我在其他地方将user.is_active设置为true(因为我尝试使用电子邮件验证)

第一个问题是,在sqlite的auth_user表中找不到创建的用户数据,但是如果我以超级用户身份在管理站点上登录,则可以看到它。

另一个问题是注册后我尝试登录,auth.authenticate函数始终返回None。我已经确认该用户在管理站点上处于活动状态。而且我确定使用check_password确认密码正确。

1 个答案:

答案 0 :(得分:0)

确保已在settings.py文件中将身份验证设置后端设置为:

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