如何重置Djangopipe理员密码?

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

是否有可能使一个普通用户成为pipe理员,然后删除pipe理员状态?

manage.py changepassword <user_name> 

看文档

  1. python manage.py createsuperuser将创build另一个超级用户,你将能够login到pipe理员,并记住你的用户名。
  2. 是的,为什么不。

要给一个普通的用户权限,用python manage.py shell打开一个python manage.py shell并且尝试:

 from django.contrib.auth.models import User user = User.objects.get(username='normaluser') user.is_superuser = True user.save() 

您可以尝试通过控制台:

 python manage.py shell 

然后在shell中使用以下脚本

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

将列出您在系统上的所有超级用户。 如果您从列表中识别yur用户名:

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

并设置一个新的密码(:

您可以使用createsuperuser命令创build一个新的超级用户。

新安装程序 首先应该运行 python manage.py createsuperuser来创build用户。 似乎没有默认的用户名密码login到pipe理员。

这是一个很好的问题。

python manage.py changepassword user_name

例如: –

 python manage.py changepassword mickey 

你也可能回答了一个错误的设置问题,并且没有任何工作人员。 在这种情况下,前往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; 

如果您忘记了创buildpipe理员用户, createsuperusermanage.py上使用createsuperuser命令创build一个,然后更改密码。

另一件值得注意的事情是将用户的状态is_staff为活动状态。 至less,这是什么使它对我有用。 更多细节,我创build了另一个superuser如上面解释的人。 然后我去数据库表auth_user并search该用户名,以确保其is_staff标志设置为1 。 这终于让我login到admin网站。

python manage.py changepassword用户名

如果你不知道这里创build的用户名。 您可以按照上面的@FallenAngel所述获取用户。

 python manage.py shell from django.contrib.auth.models import User usrs = User.objects.filter(is_superuser=True) #identify the user your_user = usrs.filter(username="yourusername")[0] #youruser = usrs.get(username="yourusername") #then set the password 

但是,如果您创build了独立的用户模型。 一个简单的例子是当你想使用电子邮件作为用户名,而不是默认的用户名。 在这种情况下,你的用户模型居住在某个地方如your_accounts_app.models然后上述解决scheme将无法正常工作。 在这种情况下,您可以使用get_user_model方法

 from django.contrib.auth import get_user_model super_users = get_user_model().objects.filter(is_superuser=True) #proceed to get identify your user # and set their user password