超详细教程-Django使用邮箱发送验证码
生活随笔
收集整理的這篇文章主要介紹了
超详细教程-Django使用邮箱发送验证码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
效果展示
圖1
圖2
圖3
圖4
實(shí)現(xiàn)邏輯:
- 前端驗(yàn)證郵箱輸入框內(nèi)是否是郵箱地址 (若不是 彈出提示框,否則下一步)
- 后端獲取郵箱地址,生成驗(yàn)證碼發(fā)送至對應(yīng)郵箱, (若發(fā)送失敗 彈出提示框,否則下一步)
- 獲取驗(yàn)證碼按鈕開始倒計(jì)時 ,無法點(diǎn)擊,等待用戶輸入
相關(guān)代碼
-
前端HTML
<form id="form" name="form" class="form-horizontal col-md-offset-3 " style="margin-top:20px" >{% csrf_token %}<div class="form-group"><label for="email" class="col-md-2 control-label">郵箱:</label><div class="col-md-4"><input type="text" name="email" id="email" class="form-control" placeholder="請輸入你的郵箱"></div></div><div class="form-group"><label for="vertify" class="col-md-2 control-label">驗(yàn)證碼:</label><div class="col-md-4"><div class="input-group"><input type="text" name="vertify" id="vertify" class="form-control" placeholder="請輸入校驗(yàn)碼"><span class="input-group-btn"><input type="button" id="sendEmail" class="btn btn-default" value="獲取驗(yàn)證碼"></span></div></div></div><div id="messBox" style="display: none;position: fixed; width: 300px;height: 35px; top:50%; left:40%; z-index:10; border-radius: 10%; background-color:#8c8c8c; color: white; text-align: center; "><span id="errorMess" style="position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);"></span></div> -
前端郵箱驗(yàn)證js代碼:
//展現(xiàn)顯現(xiàn)錯誤提示信息function showError(message) {document.getElementById("messBox").style.display="block";$("#errorMess").html(message);//修改span標(biāo)簽內(nèi)容setTimeout("hidden()",2000);}//隱藏錯誤提示信息function hidden() {document.getElementById("messBox").style.display="none";}//郵箱驗(yàn)證function testEmail(str) {var re = /^\w+@[0-9a-z]+\.[a-z]+$/;return re.test(str);}$("#sendEmail").click(function () {var email = $("#email").val();//獲取用戶輸入郵箱if(email===''||!testEmail(email)) {//驗(yàn)證郵箱格式showError('郵箱格式不正確,請重輸');}else{//按鈕不可再次點(diǎn)擊,開始倒計(jì)時$.ajax({url:"/member/reg",type:"post",data:{type:'sendMessage',csrfmiddlewaretoken:'{{ csrf_token }}',email:email},dataType :"json",success:function (reg) {// 短信發(fā)送失敗if(!reg.state){showError(reg.errmsg);}else{console.log(reg.state);settime();//短信發(fā)送成功,倒計(jì)時}}});var btn_sendEmail = $("#sendEmail");var countdown=60;function settime() {if (countdown === 0) {btn_sendEmail.attr("disabled",false);btn_sendEmail.val("獲取驗(yàn)證碼");return false;} else {btn_sendEmail.attr("disabled", true);btn_sendEmail.val("重新發(fā)送(" + countdown + ")");countdown--;}setTimeout(function() {settime();},1000);}}}); -
發(fā)送郵件setting配置
- views文件
-
路由分發(fā)
path('reg', views.reg),
總結(jié)
以上是生活随笔為你收集整理的超详细教程-Django使用邮箱发送验证码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C盘里的每个文件夹都是干什么用的
- 下一篇: 分布式--消息中间件