码迷,mamicode.com
首页 > 其他好文 > 详细

使用Django实现用户修改密码

时间:2015-02-15 17:52:11      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

整个过程和用户注册很相似,先让用户输入原密码,然后在输入两次修改密码,然后存储到数据库中。

定义用户修改密码表单

class CodeForm(forms.Form):
oldpassword = forms.CharField(label=‘原密码:‘,max_length=30)
newpassword1 = forms.CharField(label=‘修改密码:‘,widget=forms.PasswordInput())
newpassword2 = forms.CharField(label=‘再次输入:‘,widget=forms.PasswordInput())
def pwd_validate(self,p1,p2):
return p1 == p2

  Views

@csrf_exempt
def code(request):
errors = []
if request.method == ‘POST‘:
form = CodeForm(request.POST)
if form.is_valid():
username = request.COOKIES.get(‘username‘,‘‘)
oldpassword = request.POST.get(‘oldpassword‘,‘‘)
user = authenticate(username=username,password=oldpassword)
if user is not None and user.is_active:
data=form.cleaned_data
newpassword1 = data[‘newpassword1‘]
newpassword2 = data[‘newpassword2‘]
if form.pwd_validate(newpassword1,newpassword2):
newpassword = request.POST.get(‘newpassword1‘,‘‘)
user.set_password(newpassword)
user.save()
return render_to_response(‘success.html‘,{‘username‘:username})
else:
errors.append(‘温馨提示:两次密码不相同,请重新输入!‘)
else:
errors.append(‘温馨提示:密码错误,请重新输入!‘)
else:
form = CodeForm()
return render_to_response(‘code.html‘,{‘form‘:form,‘errors‘:errors},RequestContext(request))


 

使用Django实现用户修改密码

标签:

原文地址:http://www.cnblogs.com/pylab/p/4293176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!