django注册用邮箱发送验证码的实现


Posted in Python onApril 18, 2021

视图代码

lis = []#设置一个空列表用来存放发送的验证码,用来验证
def yzm1():
    res1 = ""
    for i in range(4):#用四个随机数组成验证码
        num = random.randint(0, 9)
        res1 += str(num)
    lis.append(res1)#将验证码放入空的列表中
    return res1#返回验证码
class zc(View):
    def get(self, request):
        return render(request, 'zc.html', locals())
    def post(self, request):
        name = request.POST['qq']#获取前端传递进来的数据
        subject = '验证码'
        message = vercode()#获取验证码
        form = '837620306@qq.com'#获取发送验证码的邮箱
        # EMAIL_HOST_USER
        rcipient_list = [name]
        res = send_mail(subject=subject, message=message, from_email=form, recipient_list=rcipient_list)#发送验证码返货真或假,假代表没有发送成功
        if res == 1:#判断是否发送成功
            return redirect('/app01/yzm/')#成功的话跳转到验证的网页
        else:#不成功的话返回注册界面
            return render(request, 'zc.html', locals())
def yzm2(request):
    if request.method == 'GET':
        return render(request, 'yzm.html', locals())
    elif request.method == 'POST':
        a = request.POST['much']#获取到用户输入的验证码
        if a == lis[-1]:#取最新的验证码
            return HttpResponse('验证码正确')
        else:
            return HttpResponse('no')

用来发送验证码的邮箱需要打开POP3/SMTP服务和IMAP/SMTP服务,并且获得POP3/SMTP服务的授权码

settings 配置文件

另外需要对django的settings文件进行设置

# 设置发送邮件服务器:smtp.qq.com,
EMAIL_HOST = 'smtp.qq.com'
# 设置端口号,如果使用的是SSL,端口号为465或587
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = 'xxxxx'
# 设置发件人 授权码   (POP3/SMTP服务的授权码)
EMAIL_HOST_PASSWORD = 'xxxxx'
# 设置是否启用安全链接
EMAIL_USER_TLS = True

到此这篇关于django注册用邮箱发送验证码的实现的文章就介绍到这了,更多相关django 邮箱验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 自动提交和抓取网页
Jul 13 Python
利用Fn.py库在Python中进行函数式编程
Apr 22 Python
将Django框架和遗留的Web应用集成的方法
Jul 24 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
Python下载网络小说实例代码
Feb 03 Python
Python设计模式之桥接模式原理与用法实例分析
Jan 10 Python
使用Pandas对数据进行筛选和排序的实现
Jul 29 Python
Python PyInstaller安装和使用教程详解
Jan 08 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
python自动化测试三部曲之request+django实现接口测试
Oct 07 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 #Python
python3 实现mysql数据库连接池的示例代码
Python如何利用正则表达式爬取网页信息及图片
Apr 17 #Python
python中sys模块的介绍与实例
Apr 17 #Python
Python中os模块的简单使用及重命名操作
Apr 17 #Python
Python利器openpyxl之操作excel表格
Pytest实现setup和teardown的详细使用详解
You might like
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
javascript Keycode对照表
2009/10/24 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
JavaScript中this详解
2015/09/01 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
微信小程序 用户数据解密详细介绍
2017/01/09 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
angular6.0使用教程之父组件通过url传递id给子组件的方法
2018/06/30 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
Python 除法小技巧
2008/09/06 Python
python if not in 多条件判断代码
2016/09/21 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python多层装饰器用法实例分析
2018/02/09 Python
python字典快速保存于读取的方法
2018/03/23 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
Python学习之time模块的基本使用
2021/01/17 Python
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
说出数据连接池的工作机制是什么?
2013/04/19 面试题
手工社团活动方案
2014/02/17 职场文书
2014年端午节活动方案
2014/03/11 职场文书
护士自我鉴定总结
2014/03/24 职场文书
市政管理求职信范文
2014/05/07 职场文书
大型会议策划方案
2014/05/17 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android