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

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


当前回答

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

python manage.py changepassword [username]

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

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

sqlite3 db.sqlite3

2-列出auth_user表的内容

SELECT * FROM auth_user ;

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

其他回答

获取用户名(以及大部分信息)的另一种方法是直接访问数据库并从表中读取信息。

你可以试试这个:

1.在没有控制台的情况下修改超级用户密码

python manage.py changepassword <username>

2.通过控制台修改超级用户密码

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

你也可能回答了一个错误的设置问题,没有工作人员。在这种情况下,前往postgres:

obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id           | 1
is_superuser | f
is_staff     | f
...

要修复,直接编辑:

update auth_user set is_staff='true' where id=1;

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