一尘不染

匹配查询不存在Django中的错误

django

我已经在Django中实现了密码恢复功能。用我的方法,新密码将发送到他输入的电子邮件ID。当我提供正确的电子邮件(数据库中存在的电子邮件ID)时,它的工作正常。但是,当我提供不在数据库中的电子邮件ID时,就会出现此错误“ DoesNotExist位于/​​ forgotPassword /

UniversityDetails匹配查询不存在。”。有人可以解决这个问题吗?将在此处粘贴我的代码。有人可以帮我解决这个问题。

forgotPassword.html()

def forgotPassword(request):
    if request.POST:
        email=request.POST.get("email")
        user = UniversityDetails.objects.get(email=email)
        if(not user):
            print "No user"
            return render_to_response("forgotPassword.html")
        else:
            newPassword = user.password
            send_mail('Password Recovery', 'The password for your site is '+ newPassword, 'rv_nair@gmail.com',
    ['rv_ks@gmail.com'], fail_silently=False)   
            return render_to_response("passwordRecovery.html")
    return render_to_response('forgotPassword.html')

html

<form name="forgotPassword" method="POST" id="myFormid" action="http://10.1.0.90:8080/forgotPassword/">
<div style="float:center;width:100%;color:#0000A0">
 Enter your E-mail ID</label><br/> <input type="text" name="email" size="25" /> 
 <input type="submit" value="Submit" />
 </div> 

</form >

阅读 501

收藏
2020-03-29

共1个答案

一尘不染

try:
    user = UniversityDetails.objects.get(email=email)
except UniversityDetails.DoesNotExist:
    user = None

我还看到你以明文形式存储密码(安全性高,请注意!)。为什么不使用内置的身份验证系统?

2020-03-29