Django:管理界面:如何更改用户密码

在姜戈:

我创建了一个超级用户,可以查看所有用户

我还为我的用户实现了忘记密码,他们可以输入他们的电子邮件,并将密码重置链接发送到他们的电子邮件,然后用户可以重置他的密码

但是管理员如何从管理仪表板更改某些用户密码

回答

Django 不会在用户模型上存储原始(明文)密码,而只会存储散列(有关如何管理密码的完整详细信息,请参阅文档)。因此,不要试图直接操作用户的密码属性。这就是创建用户时使用辅助函数的原因。

要更改用户的密码,您有多种选择:

manage.py changepassword *username*提供了一种从命令行更改用户密码的方法。它会提示您更改给定用户的密码,您必须输入两次。如果两者匹配,新密码将立即更改。如果您不提供用户,该命令将尝试更改用户名与当前系统用户匹配的密码。

您还可以使用set_password()以编程方式更改密码:

from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('new password')
u.save()

如果您安装了 Django 管理员,您还可以在身份验证系统的管理页面上更改用户的密码。Django 还提供了视图和表单,可用于允许用户更改自己的密码。

更改用户的密码将注销其所有会话。有关详细信息,请参阅密码更改时会话失效。


以上是Django:管理界面:如何更改用户密码的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>