2015-06-28 87 views
1

我在django中创建了一个应用程序,我有一个用户可以更改其他用户的密码和用户名。如何以编程方式在django中更改用户名和密码?

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

我得到一个具体的用户名这样的用户:

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

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

但是当我保存所有,我看到所选用户的用户名didn't改变。

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

谢谢!

+0

你的代码中'user_name'变量的值是什么? – bellum

+0

user_name是字符串类型的参数 – jartymcfly

回答

0

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

首先,导入Django的像这样的用户模式:

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()

希望这有助于!

相关问题