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

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


当前回答

这是一个很好的问题。

Python manage.py changepassword user_name

例子:-

python manage.py changepassword mickey

其他回答

如果在/admin/网站需要一个reset_password链接,这是去的方式: https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#adding-a-password-reset-feature

检索用户名和密码的最佳方法之一是查看和更新它们。用户模型提供了一种完美的实现方法。

在本例中,我使用的是Django 1.9

Navigate to your root directory i,e. where you "manage.py" file is located using your console or other application such as Git. Retrieve the Python shell using the command "python manage.py shell". Import the User Model by typing the following command "from django.contrib.auth.models import User" Get all the users by typing the following command "users = User.objects.all()" Print a list of the users For Python 2 users use the command "print users" For Python 3 users use the command "print(users)" The first user is usually the admin. Select the user you wish to change their password e.g. "user = users[0]" Set the password user.set_password('name_of_the_new_password_for_user_selected') Save the new password "user.save()"

启动服务器,使用用户名和修改后的密码登录。

除了@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 changepassword username

使用"python manage.py createsuperuser"命令创建一个新的超级用户。 以新的超级用户登录。点击“users”链接。然后单击要删除的用户。单击表单页面末尾的delete user。

注意:上述过程将对特定用户所做的活动日志进行更改。