2015-06-28 59 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()

希望這有助於!

相關問題