#users/urls.py
url(r'^user_reset/(\w+)$',user_reset,name='user_reset'),
#users/views.py
def user_reset(request,code):
if code:
if request.method =='GET':
return render(request,'password_reset.html')
#password_reset.html改为static
#<form id="reset_password_form" action="{% url 'users:user_reset' code %}" method="post">
#{% csrf_token %}
<p>
{{ msg }}
{% for key,err in user_reset_form.errors.items %}
{{ err }}
{% endfor %}
</p>
#users/forms.py
class UserResetForm(forms.Form):
password = forms.CharField(required=True,min_length=3,max_length=15,error_messages={
'required':'密码必须填写',
'min_length':'密码至少3位',
'max_length':'密码不能超过15位'
})
password1 = forms.CharField(required=True,min_length=3,max_length=15,error_messages={
'required':'密码必须填写',
'min_length':'密码至少3位',
'max_length':'密码不能超过15位'
})
#users/views.py
def user_reset(request,code):
if code:
if request.method =='GET':
return render(request,'password_reset.html',{
'code':code
})
else:
user_reset_form = UserResetForm(request.POST)
if user_reset_form.is_valid():
password = user_reset_form.cleaned_data['password']
password1 = user_reset_form.cleaned_data['password1']
if password == password1:
email_ver_list = EmailVerifyCode.objects.filter(code=code)
if email_ver_list:
email_ver = email_ver_list[0]
email = email_ver.email
user_list = UserProfile.objects.filter(email=email)
if user_list:
user = user_list[0]
user.set_password(password1)
user.save()
return redirect(reverse('users:user_login'))
else:
pass
else:
pass
else:
return render(request,'password_reset.html',{
'msg':'两次密码不一致',
'code':code
})
else:
return render(request,'password_reset.html',{
'user_reset_form':user_reset_form,
'code':code
})
22.用户模块——忘记密码之密码修改功能
猜你喜欢
转载自blog.csdn.net/qq_36227329/article/details/89395521
今日推荐
周排行