2015-07-10 49 views
0

可以说我有用户与哈希密码Django的认证或将其转换为纯

user = User.objects.get(email="[email protected]") 

电子邮件现在我想此用户登录,如:

user = authenticate(username=username, password=user.password) 

身份验证不采取哈希密码。但在这里我只能得到哈希密码。我怎么可以登录该用户可以说,改变它的密码

谢谢

+0

你有麻烦登录或其只是密码你卡在? –

+1

为什么在更改密码之前需要登录用户? –

+1

http://stackoverflow.com/questions/2787650/manually-logging-in-a-user-without-password丹尼尔出色的回答 – Wtower

回答

3

你不需要登录用户更改密码。你可以使用Django的帮助函数set_password()来更改密码。

from django.contrib.auth.models import User 

user = User.objects.get(email="[email protected]") 
user.set_password('new_password') 
user.save() # call save explicitly 

按照该文档,

set_password(raw_password)
设置用户的密码,以给定的原料 串,取密码散列的照顾。不保存用户 对象。