无法使用Python 3.8中的超级用户创建的帐户登录

时间:2019-10-28 02:47:12

标签: python django

在我继续之前,我知道这是一个常见问题,但是我已经搜索了与此相关的最重要的问题,但是似乎都没有帮助。

以下情况:https://docs.djangoproject.com/en/2.2/intro/tutorial02/

我做了什么:

py manage.py createsuperuser

创建的用户

我已确认该用户是具有以下内容的超级用户

from django.contrib.auth.models import User
active_staff = User.objects.filter(is_active=True, is_staff=True)

这将列出超级用户

尽管如此,当我执行以下操作时:

u =用户(用户名=“ admin”) u.is_staff  假 u.is_superuser  错误

这是为什么?

然后我也手动将其设置为true,save(),然后检查,它现在为True。尝试登录,不起作用。重新启动shell并检查,它恢复为false。

我在这里尝试了接受的答案:Can't login to django admin after creating a super user with a custom user model

此:Admin page on django is broken

没有人帮助。

如果我需要从Djnago应用程序中复制/粘贴任何内容以提供帮助,请告诉我。我是Python和Django的新手,所以我不确定要在此问题中添加什么内容。

3 个答案:

答案 0 :(得分:2)

要拥有一个超级用户,您只需要使用manage.py createsuperuser命令,并且使用此命令,您正在做的事情:

    User(is_superuser=True,**kwargs)

那么您能解释一下,当您想登录到管理面板时会看到什么错误吗?

答案 1 :(得分:1)

u = User(username="admin")

这只是初始化一个新的用户对象,而不查询数据库。对于is_staff和超级用户,它将始终返回False,如果它们的默认值是False。尝试使用-

查询数据库
u = User.objects.get(username="admin")

检查标志的值。

答案 2 :(得分:1)

好吧,我不确定这是怎么可能的。

我已经成功地在d / programming / mysite目录中创建了应用程序……正在创建文件,迁移等。

我刚刚检查了一下,项目中的应用程序确实在d / programming / django / mysite中...我继续从那里创建了一个用户,并且可以正常工作。

我对这是如何发生的感到有些困惑,但是我确定我在某种程度上和某处都错了

相关问题