【问题标题】:How can I change the username and the password of a user in django programatically?如何以编程方式更改 django 中用户的用户名和密码?
【发布时间】:2015-09-14 21:23:04
【问题描述】:

我正在 django 中创建一个应用程序,并且我有一个用户可以更改其他用户的密码和用户名。

在我的views.py中,我有一个控制它的视图。

我通过这种方式获取具体用户名的用户:

user = User.objects.get(username=user_name)
user.username = request.POST['username']

user.set_password(request.POST['password'])
user.save()

但是当我全部保存时,我看到所选用户的用户名没有改变。

如何设置所选用户“user_name”的用户名和密码?

谢谢!

【问题讨论】:

  • 你的代码中user_name变量的值是什么?
  • user_name是字符串类型的参数

标签: python django passwords


【解决方案1】:

我明白了!太容易了!如果你想改变用户对象的任何值,你必须这样做:

首先,像这样导入 Django 的 User 模型:

from django.contrib.auth.models import User

接下来,您必须让用户获得您想要更改的信息:

user_to_change = User.objects.get(username=username)

然后,更改值:

user_to_change.set_password(request.POST['password'])
user_to_change.username = request.POST['username']
...

最后,保存更改的信息:

user_to_change.save()

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    相关资源
    最近更新 更多