def resetpwd(token=''): msg = None form = ResetPwdForm() if token != '': form.token.data = token if not form.token.data: return redirect(url_for('index.home')) token_str = str(form.token.data) user = None try: data = EncryptionUtil.decrypt(token_str).split('#') user = User.get_by_id(data[0]) if user.email != data[1]: return redirect(url_for('index.home')) except Exception as e: return redirect(url_for('index.home')) if form.validate_on_submit(): if user and form.pwd.data: user.pwd = str(form.pwd.data) User.update(user) login_user(user) return redirect(url_for('index.home')) return render_template('account/resetpwd.html', form=form)
def findpwd(): msg = None email = None form = FindPwdForm() user = None if form.validate_on_submit(): email = str(form.email.data) user = User.get_by_email(email) if user: token = EncryptionUtil.encrypt(str(user.id) + '#' + str(user.email)) mailbody = ''' 要重设您的 帐户 {0} 的密码,请点击以下链接:<br/> <a>http://127.0.0.1:5000/account/resetpwd/{1}<a/> <br/> 如果点击以上链接没有反应,请将该网址复制并粘贴到新的浏览器窗口中。''' MailUtil.send_mail('找回密码', mailbody.format(email, token), email) else: msg = '该邮箱没有注册,请核对信息' return render_template('account/findpwd.html', msg=msg, email=email, user=user, form=form)