我创建了一个 Django 应用,并在应用中创建了一个注册页面(简单的 HTML 表单),其中包含在注册时使用的电子邮件字段。现在我想在用户注册时实现电子邮件验证,例如向用户发送一封电子邮件(发送到注册表格中提供的电子邮件地址)。通过谷歌搜索,我发现有一个 Django 方法 'send_email' 可以用于此操作。但作为 Django 新手,我无法理解如何进行更改和创建所需的函数。是否有人可以帮助我完成这个操作或指出一些教程可以帮助我?或者除了 Django 的 'send_email' 方法之外,还有其他方法可以实现这个功能。感激不尽。
以下是我的代码。
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")
注册表单页面.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>