我在Django中创建了一个项目,第一件事就是为管理帐户创建超级用户,然后继续进行Django项目。但问题是,在使用 "python manage.py createsuperuser" 创建超级用户帐户并填写信息后,虽然成功创建了超级用户,但在尝试使用这些凭据登录时会提示“请为工作人员帐户输入正确的用户名和密码。请注意,两个字段可能区分大小写。” 我不确定是否需要检查其他设置或者我做错了什么,请给出解决方案建议。
进入Python Shell:
python manage.py shell
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()
然后使用您设置的凭据再次尝试登录。
python manage.py createsuperuser
之前是否运行了python manage.py migrate
?
在createsuperuser
过程中,你需要输入用户名和密码,不需要其他任何信息,例如邮箱。python manage.py runserver
最后,访问http://127.0.0.1:8000/admin/
实际上,你不需要做其他任何事情。如果出现其他错误,请将其发布。我也遇到了类似的问题,但是按照以下方法操作后,问题得到了解决。
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