Performing Email Validation in Django

I created a Django application. I have a registration page (simple HTML form) in the application, and during registration it has an email field. Now I wanted to implement email verification when a user logs in. How to send an email to a user (via email specified in the registration form). By googling, I found that there is a Django method 'send_email' that can be used for the above. But, being new to Django, I was not able to understand the changes and functions that will be created for this. Can someone help me do this or point out some tutorials that will help me. Or there is another way to implement this differently than the send_email Django method. Any help would be appreciated

Here I will insert my real codes.

VIEWS.PY

def registrationForm(request): if request.method == "POST": firstName = request.POST.get("firstName") lastName = request.POST.get("lastName") email = request.POST.get("email") password = request.POST.get("password") sex = request.POST.get("sex") birthday = request.POST.get("birthday") print request.POST.get("sex") UniversityDetails(firstName=firstName,lastName=lastName,email=email,password=password,sex=sex,birthday=birthday).save() return render_to_response('registrationForm.html') return render_to_response("registrationForm.html") def login(request): if request.POST: email=request.POST.get("username") password = request.POST.get("password") print email print password user = UniversityDetails.objects.filter(email=email,password=password) print user if(not user): return render_to_response("registrationForm.html",{'invalid': True }) else: return render_to_response("login.html") return render_to_response("registrationForm.html") 

registrationForm.html

 <html> <head> <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> <script> $(document).ready(function() { $("#datepicker").datepicker(); }); </script> </head> <title> Login/Registration Page </title> <script type="text/javascript"> //Created / Generates the captcha function function DrawCaptcha() { var a = Math.ceil(Math.random() * 10)+ ''; var b = Math.ceil(Math.random() * 10)+ ''; var c = Math.ceil(Math.random() * 10)+ ''; var d = Math.ceil(Math.random() * 10)+ ''; var e = Math.ceil(Math.random() * 10)+ ''; var f = Math.ceil(Math.random() * 10)+ ''; var g = Math.ceil(Math.random() * 10)+ ''; var code = a + ' ' + b + ' ' + ' ' + c + ' ' + d + ' ' + e + ' '+ f + ' ' + g; document.getElementById("txtCaptcha").value = code } // Validate the Entered input aganist the generated security code function function ValidCaptcha(){ var str1 = removeSpaces(document.getElementById('txtCaptcha').value); var str2 = removeSpaces(document.getElementById('txtInput').value); if (str1 == str2) return true; return false; } // Remove the spaces from the entered and generated code function removeSpaces(string) { return string.split(' ').join(''); } </script> <body onload="DrawCaptcha();"> <div align="center"> <form name="userInputForm" method="POST" id="myFormid" action="http://10.1.0.90:8080/login/"> <div style="float:left;width:100%;"> <p style="float:left;margin-right:10px;width:auto;"><label style="float:left;">Email id</label><br/> <input type="text" name="username" size="25" /></p> <p style="float:left;margin-right:10px;width:auto;"><label style="float:left;">Password</label><br/><input type="password" name="password" size="25" /> {% if invalid %} Mismatch in your email/password. {% endif %} </p> </div> <p style="clear:both;float:left;"><input type="submit" value="Log in" /></p> </div> </form>< <script type="text/javascript"> function userCheck(){ /*document.getElementById('myFormid').action = "http://10.1.0.90:8080/login/"; if ((document.userInputForm.username.value.length==0)) */ } </script> <form name ="myform" method="POST" id='FormID'> <table> <tr> <td>First name</td> <td> <input type="text" name="firstName" value="" maxlength="100" /> <b id="firstNameID" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> </tr> <tr> <td>Last name</td> <td> <input type="text" name="lastName" value="" maxlength="100" /> </td> </tr> <tr> <td>E-mail</td> <td> <input type="text" name="email" value="" maxlength="100" /> </td> </tr> <tr> <td>Password</td> <td> <input type="password" name="password" value="" maxlength="100" /> <b id="passwordID" style="font-family:Times New Roman;color:#B4045F;font-size:14px;"> </td> </tr> <tr> <td>Gender:</td> <td> <input type="radio" name="sex" value="male" /> Male <input type="radio" name="sex" value="female" /> Female </td> </tr> <tr> <td>Birthday</td> <td> <input type="text" name="birthday" id='datepicker' value="" maxlength="100" /> </td> </tr> </tr> </table> <table> <tr> <td> </td> </tr> <tr> <td> <input type="text" id="txtCaptcha" style="background-image:url(1.jpg); text-align:center; border:none; font-weight:bold; font-family:Modern" /> <input type="button" id="btnrefresh" value="Refresh" onclick="DrawCaptcha();" /> </td> </tr> <tr> <td> <input type="text" id="txtInput"/> </td> <td> <br> <br> <input type="button" value="Sign Up" onClick="isEmpty();"/> </td> </tr> </table> <script type="text/javascript"> function isEmpty(){ if ((document.myform.firstName.value.length==0)) { document.getElementById('firstNameID').innerHTML = 'Please fill this field'; return true; } else if ((document.myform.password.value.length==0)) { document.getElementById('passwordID').innerHTML = 'Please fill this field'; return true; } else if (! ValidCaptcha()) { alert("Captcha entered wrong"); } else { document.getElementById('FormID').action = "http://10.1.0.90:8080/registrationForm/"; document.getElementById('FormID').submit(); return false; } } </script> </body> </html> 
+8
python django django-models django-templates django-settings
source share
2 answers

Mark django-registration as a plugin application.

You can also use the code as a link if you want to make your own.

response to comment:

django-registration will be perfect for you. It does not come with html templates, you just need to customize your forms slightly. It has very good documentation .

Are there any template templates in django registration that I can use right away? No, for two reasons:

 1. Providing default templates with an application is generally hard to impossible, because different sites can have such wildly different design and template structure. Any attempt to provide templates which would work with all the possibilities would probably end up working with none of them. 2. A number of things in django-registration depend on the specific :ref:`registration backend <backend-api>` you use, including the variables which end up in template contexts. Since django-registration has no way of knowing in advance what backend you're going to be using, it also has no way of knowing what your templates will need to look like. Fortunately, however, django-registration has good documentation which explains what context variables will be available to templates, and so it should be easy for anyone who knows Django's template system to create templates which integrate with their own site. 
+8
source share

You should check out django-allauth , it does what you are looking for and much more. django-registration is recommended, but it is no longer supported as stated in this bitbucket project . (As said here )

+4
source share

All Articles