Jam*_*esO 696
python manage.py changepassword <user_name>
Run Code Online (Sandbox Code Playgroud)
DrT*_*rsa 161
python manage.py createsuperuser 将创建另一个超级用户,您将能够登录管理员并记住您的用户名.要提供普通用户权限,请打开一个shell python manage.py shell并尝试:
from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()
Run Code Online (Sandbox Code Playgroud)
Fal*_*gel 110
您可以尝试通过控制台:
python manage.py shell
Run Code Online (Sandbox Code Playgroud)
然后在shell中使用以下脚本
from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)
Run Code Online (Sandbox Code Playgroud)
将列出系统上的所有超级用户.如果您从列表中识别出您的用户名:
usr = User.objects.get(username='your username')
usr.set_password('raw password')
usr.save()
Run Code Online (Sandbox Code Playgroud)
并设置一个新密码(:
Mos*_*sab 26
除了@JamesO 回答指出使用
python manage.py changepassword [username]
Run Code Online (Sandbox Code Playgroud)
1-在项目的主目录中访问数据库(我使用的是sqlite3):
sqlite3 db.sqlite3
Run Code Online (Sandbox Code Playgroud)
auth_user2-列出表的内容
SELECT * FROM auth_user ;
Run Code Online (Sandbox Code Playgroud)
3-查找具有 的用户is_superuser = 1,在我的例子中,它是
命令输出的管理员屏幕截图(我没有足够的代表点)
小智 14
这是一个非常好的问题.
python manage.py changepassword user_name
示例: -
python manage.py changepassword mickey
Run Code Online (Sandbox Code Playgroud)
小智 8
检索用户名和密码的最佳方法之一是查看和更新它们.用户模型提供了一种完美的方式.
打印用户列表对于Python 2用户使用命令"print users"对于Python 3用户使用命令"print(users)"第一个用户通常是admin.
选择您要更改密码的用户,例如
"user = users[0]"
设置密码
user.set_password('name_of_the_new_password_for_user_selected')
保存新密码
"user.save()"
启动服务器并使用用户名和更新的密码登录.
有两种方法可以做到这一点:
该changepassword 管理命令:
(env) $ python manage.py changepassword <username>
Run Code Online (Sandbox Code Playgroud)
或者(扩展了一些答案,但适用于任何扩展的用户模型)使用django-admin shell,如下所示:
(env) $ python manage.py shell
Run Code Online (Sandbox Code Playgroud)
这应该会显示 shell 命令提示符,如下所示:
Python 3.7.2 (default, Mar 27 2019, 08:44:46)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>>
Run Code Online (Sandbox Code Playgroud)
那么你会想要以下内容:
>>> from django.contrib.auth import get_user_model
>>> User = get_user_model()
>>> user = User.objects.get(username='admin@hug.com')
>>> user.set_password('new password')
>>> user.save()
>>> exit()
Run Code Online (Sandbox Code Playgroud)
NB为什么我用这个答案回答了这个问题?
因为,如上所述,User = get_user_model()将适用于您自己的自定义User模型。使用from django.contrib.auth.models import UserthenUser.objects.get(username='username')可能会抛出以下错误:
AttributeError: Manager isn't available; 'auth.User' has been swapped for 'users.User'
Run Code Online (Sandbox Code Playgroud)
您可能还回答了设置问题,并且职员人数为零。在这种情况下,请前往postgres:
obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id | 1
is_superuser | f
is_staff | f
...
Run Code Online (Sandbox Code Playgroud)
要修复,请直接编辑:
update auth_user set is_staff='true' where id=1;
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下方法:
1.无需控制台即可更改超级用户密码
python manage.py changepassword <username>
Run Code Online (Sandbox Code Playgroud)
2.通过控制台更改超级用户密码
如果您忘记了管理员,那么您需要使用以下命令创建新用户
python manage.py createsuperuser <username>
Run Code Online (Sandbox Code Playgroud)
对于密码,changepassword django 有 CLI 命令来更改用户密码
python manage.py changepassword <username>
Run Code Online (Sandbox Code Playgroud)
或者
django-admin changepassword <username>
Run Code Online (Sandbox Code Playgroud)
或者在 Django 环境中运行此代码
from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('new password')
u.save()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
265924 次 |
| 最近记录: |