21.用户模块——忘记密码之修改密码功能

#users/urls.py
    url(r'^user_forget/$',user_forget,name='user_forget'),

#users/views.py
def user_forget(request):
    if request.method == 'get':
        #user_forget_form = UserForgetForm()
        return render(request,'forgetpwd.html')

#forget_psw.html改static

#login.html打开入口<a class="fr" href="{% url 'users:user_forget' %}">忘记密码?</a>

#forget_psw.py修改<form id="jsFindPwdForm" method="post" action="{% url 'users:user_forget' %}" autocomplete="off">
#{% csrf_token %}
#<p class="form-p" style="bottom:40px;">您还可以<a href="{% url 'users:user_login' %}"> [直接登录]</a></p>

#users/forms.py
class UserForgetForm(forms.Form):
    email = forms.EmailField(required=True)
    captcha = CaptchaField()

#forget_psw.html添加验证码
#<label>验&nbsp;证&nbsp;码</label>
#{{ user_forget_form.captcha }}


#users/views.py
def user_forget(request):
    if request.method == 'GET':
        user_forget_form = UserForgetForm()
        return render(request,'forgetpwd.html',{
            'user_forget_form':user_forget_form
        })
    else:
        user_forget_form = UserForgetForm(request.POST)
        if user_forget_form.is_valid():
            email = user_forget_form.cleaned_data['email']
            user_list = UserProfile.objects.filter(email=email)
            if user_list:
                send_email_code(email,2)
                return HttpResponse('请尽快去您的邮箱去重置密码')
            else:
                return render(request,'forgetpwd.html',{
                    'msg':'用户不存在',
                    'user_forget_form':user_forget_form
                })
        else:
            return render(request,'forgetpwd.html',{
                'user_forget_form':user_forget_form
            })

#send_mail_tool.py
    if send_type == 2:
        send_title = '中南民族大学重置密码系统:'
        send_body = '请点击以下链接进行重置您的密码:\n http://127.0.0.1:8000/users/user_reset/'+code
        send_mail(send_title,send_body,EMAIL_FROM,[email])

猜你喜欢

转载自blog.csdn.net/qq_36227329/article/details/89394229
今日推荐