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

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


当前回答

可使用createsuperuser命令创建新的超级用户。

其他回答

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 changepassword yourusername

除了@JamesO的答案,说明使用

python manage.py changepassword [username]

如果你不记得你的用户名:

1-在你的项目的主目录访问数据库(我使用sqlite3):

sqlite3 db.sqlite3

2-列出auth_user表的内容

SELECT * FROM auth_user ;

3-寻找具有is_superuser = 1的用户,在我的例子中是admin 命令输出的截图(我没有足够的代表点)

您可以通过控制台尝试:

python manage.py shell

然后在shell中使用以下脚本

from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)

系统会列出你们所有的超级用户。如果你从列表中认出你的用户名:

usr = User.objects.get(username='your username')
usr.set_password('raw password')
usr.save()

然后你设置一个新密码(:

可使用createsuperuser命令创建新的超级用户。