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判断变量是否已经定义的方法
Aug 18 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
对python .txt文件读取及数据处理方法总结
Apr 23 Python
Python实现获取前100组勾股数的方法示例
May 04 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 Python
简单了解Java Netty Reactor三种线程模型
Apr 26 Python
Django DRF路由与扩展功能的实现
Jun 03 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
python基础入门之字典和集合
Jun 13 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
php xfocus防注入资料
2008/04/27 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
php session和cookie使用说明
2010/04/07 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
深入php list()函数的详解
2013/06/05 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
Selenium执行JavaScript脚本的方法示例
2020/12/31 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python文件与目录操作实例详解
2016/02/22 Python
python中import学习备忘笔记
2017/01/24 Python
python爬虫基本知识
2018/03/05 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
人力资源主管的岗位职责
2014/03/15 职场文书
微笑服务演讲稿
2014/05/13 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
刑事辩护授权委托书范本
2014/10/17 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
导游词之嵊泗列岛
2019/10/30 职场文书
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL