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入门指引
Apr 01 Python
Python进阶_关于命名空间与作用域(详解)
May 29 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
详解Python中的动态属性和特性
Apr 07 Python
python合并已经存在的sheet数据到新sheet的方法
Dec 11 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
django为Form生成的label标签添加class方式
May 20 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
python pip如何手动安装二进制包
Sep 30 Python
python单元测试框架pytest的使用示例
Oct 07 Python
python 爬虫如何实现百度翻译
Nov 16 Python
pytorch损失反向传播后梯度为none的问题
May 12 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下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP解决中文乱码
2017/04/28 PHP
PHP实现提取多维数组指定一列的方法总结
2019/12/04 PHP
深入理解JavaScript中的对象
2015/06/04 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
jQuery实现的自适应焦点图效果完整实例
2016/08/24 Javascript
简洁实用的BootStrap jQuery手风琴插件
2016/08/31 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
Vue.js实现分页查询功能
2020/11/15 Javascript
JS实现十字坐标跟随鼠标效果
2017/12/25 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
python3.3实现乘法表示例
2014/02/07 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
快速入门python学习笔记
2017/12/06 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
C#实现启动一个进程
2016/10/01 面试题
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
几个判断型的面试题
2012/07/03 面试题
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
物流管理专业自荐信
2014/06/23 职场文书
传播学专业毕业生自荐书
2014/07/01 职场文书
2014年外联部工作总结
2014/11/17 职场文书
汇报材料怎么写
2014/12/30 职场文书
小学庆六一主持词
2015/06/30 职场文书
安全主题班会教案
2015/08/12 职场文书
青少年法制教育心得体会
2016/01/14 职场文书