我正在使用Django(1.3版),忘记了管理员用户名和密码。如何重置两者?
是否可以将普通用户变为管理员,然后删除管理员状态?
我正在使用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()
其他回答
如果在/admin/网站需要一个reset_password链接,这是去的方式: https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#adding-a-password-reset-feature
你也可能回答了一个错误的设置问题,没有工作人员。在这种情况下,前往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;
可使用createsuperuser命令创建新的超级用户。
获取用户名(以及大部分信息)的另一种方法是直接访问数据库并从表中读取信息。
use
Python manage.py dumpdata
然后查看末尾,您将找到用户名