我正在使用以下代码创建管理员用户。但是,该用户无法登录。关于此用户为何无法登录管理网站的任何建议
user = User.objects.create(username = "joe",first_name="jordan", last_name="...", email="jordan@gmail.com", password="admin123",is_staff=True,is_superuser=True)
用户名是joe
,密码是admin123
,但是该用户无法登录
答案 0 :(得分:3)
Django存储哈希密码。由于您传递给数据库普通密码,因此Django无法验证用户身份。创建新用户以对密码进行哈希处理时,应使用set_password
:
user = User(username = "joe",first_name="jordan", last_name="...", email="jordan@gmail.com",is_staff=True,is_superuser=True)
user.set_password("admin123")
user.save()
或者您可以使用create_superuser
方法:
user = User.objects.create_superuser(username = "joe",first_name="jordan", last_name="...", email="jordan@gmail.com", password="admin123")