如何以编程方式更改django中用户的用户名和密码?

时间:2015-06-28 09:47:04

标签: python django passwords

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

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

我以这种方式获得具体用户名的用户:

;WITH YourAlias AS
(
     SELECT emp_table.Name, dept_table.dept
     FROM dept_table
     INNER JOIN emp_table
        on emp_table.dept_id = dept_table.dept_id
)
SELECT Name, dept
FROM YourAlias;

但是当我保存所有内容时,我发现所选用户的用户名没有改变。

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

谢谢!

1 个答案:

答案 0 :(得分: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()

希望这有帮助!