我正在使用Django(1.3版),忘记了管理员用户名和密码。如何重置两者?
是否可以将普通用户变为管理员,然后删除管理员状态?
我正在使用Django(1.3版),忘记了管理员用户名和密码。如何重置两者?
是否可以将普通用户变为管理员,然后删除管理员状态?
当前回答
如果在/admin/网站需要一个reset_password链接,这是去的方式: https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#adding-a-password-reset-feature
其他回答
另一件值得注意的事情是将用户的状态is_staff设置为活动。至少,这对我来说管用。为了更详细地了解,我创建了另一个超级用户,如上所述。然后转到数据库表auth_user并搜索该用户名,以确保其is_staff标志设置为1。这终于允许我登录管理网站。
只需在命令行中输入以下命令:
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 命令输出的截图(我没有足够的代表点)
use
Python manage.py dumpdata
然后查看末尾,您将找到用户名
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()