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实现简单QQ单用户机器人的方法
Jul 03 Python
Python抓取电影天堂电影信息的代码
Apr 07 Python
PyQt5 QSerialPort子线程操作的实现
Apr 21 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
如何不用安装python就能在.NET里调用Python库
Jul 12 Python
使用python远程操作linux过程解析
Dec 04 Python
利用Python代码实现一键抠背景功能
Dec 29 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
教你怎么用python爬取爱奇艺热门电影
May 20 Python
Python如何让字典保持有序排列
Apr 29 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
Jul 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
DISCUZ在win2003环境下 Unable to access ./include/common.inc.php in... 的问题终极解决方案
2011/11/21 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
destoon调用discuz论坛中带图片帖子的实现方法
2014/08/21 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
2017/03/31 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
Python的语言类型(详解)
2017/06/24 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
python的多重继承的理解
2017/08/06 Python
python3下使用cv2.imwrite存储带有中文路径图片的方法
2018/05/10 Python
python3学习之Splash的安装与实例教程
2018/07/09 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
基于 Django 的手机管理系统实现过程详解
2019/08/16 Python
python实现的汉诺塔算法示例
2019/10/23 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Python调用jar包方法实现过程解析
2020/08/11 Python
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
创先争优标语
2014/06/27 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
Golang表示枚举类型的详细讲解
2021/09/04 Golang