我正在使用Django(1.3版),忘记了管理员用户名和密码。如何重置两者?

是否可以将普通用户变为管理员,然后删除管理员状态?


当前回答

如果您忘记了您的管理员,那么您需要通过使用创建新用户

python manage.py createsuperuser <username>

对于密码,有CLI命令changepassword用于django修改用户密码

python manage.py changepassword <username>

OR

django-admin changepassword <username>

或者在Django env中运行此代码

from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('new password')
u.save()

其他回答

另一件值得注意的事情是将用户的状态is_staff设置为活动。至少,这对我来说管用。为了更详细地了解,我创建了另一个超级用户,如上所述。然后转到数据库表auth_user并搜索该用户名,以确保其is_staff标志设置为1。这终于允许我登录管理网站。

Python manage.py createsuperuser将创建另一个超级用户,您将能够登录到admin并记住您的用户名。 是的,为什么不呢?

要赋予普通用户权限,请使用python manage.py shell打开shell并尝试:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()

新的设置应该首先运行python manage.py createsuperuser来创建用户。似乎没有默认的用户名密码登录到admin。

如果您忘记先创建admin用户,则在manage.py上使用createsuperuser命令创建一个admin用户,然后更改密码。

我认为,这是更好的办法 在命令行

python管理