创建超级用户后无法登录 django 管理员帐户

Can't login to django admin account after creating super user

我在 django 中创建了一个项目,我要做的第一件事是为管理员帐户创建一个超级用户,然后继续 django 项目,但问题是在使用

创建超级用户帐户之后

python manage.py 创建超级用户

并填写超级用户创建时所说的信息

超级用户创建成功。

但是当我尝试使用这些凭据登录时,它说

请输入正确的员工帐户用户名和密码。请注意,这两个字段都可能区分大小写。

我不确定是否还有其他设置需要检查,或者我做错了什么。

请给我建议解决方案。

你 运行 python manage.py migrate 在 运行 python manage.py createsuperuser 之前吗? 在createsuperuser过程中,您需要用户名和密码,您不需要其他任何东西,即电子邮件。

你应该先做这个,然后 运行 python manage.py runserver

最后,导航到 http://127.0.0.1:8000/admin/

您真的不需要做任何其他事情。如果您遇到另一个错误,请 post 它。

转到 python shell:

python manage.py shell

在 python 控制台中,运行 以下内容:

from django.contrib.auth.models import User

user = User.objects.get(username='your_username') # enter inside the quotes the username you entered when you ran python manage.py createsuperuser
user.set_password('new_password') # change the password 
user.is_superuser = True
user.is_staff = True
user.save()

exit()

然后尝试使用您设置的凭据再次登录。

我也遇到过类似的问题,但是按照下面的方法,效果很好。

def create_superuser(self, username, email, password=None, **extra_fields):
    user = self.create_user(username, email, password=password, is_staff=True, **extra_fields)
    user.is_active = True
    user.save(using=self._db)
    return