如何重置Djangopipe理员密码?
我正在使用Django(版本1.3),并忘记了pipe理员用户名和密码。 如何重置两个?
是否有可能使一个普通用户成为pipe理员,然后删除pipe理员状态?
manage.py changepassword <user_name>
看文档
-
python manage.py createsuperuser
将创build另一个超级用户,你将能够login到pipe理员,并记住你的用户名。 - 是的,为什么不。
要给一个普通的用户权限,用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理员用户, createsuperuser
在manage.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