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 排列组合之itertools
Mar 20 Python
解决Django模板无法使用perms变量问题的方法
Sep 10 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
Python中%是什么意思?python中百分号如何使用?
Mar 20 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
儿童python练习实例
May 27 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
python bluetooth蓝牙信息获取蓝牙设备类型的方法
Nov 29 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
Python常用外部指令执行代码实例
Nov 05 Python
只用Python就可以制作的简单词云
Jun 07 Python
如何在Python中妥善使用进度条详解
Apr 05 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
我的论坛源代码(八)
2006/10/09 PHP
PHP $_FILES函数详解
2011/03/09 PHP
PHP针对字符串开头和结尾的判断方法
2016/07/11 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
只需20行代码就可以写出CSS覆盖率测试脚本
2013/04/24 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
javascript中2个感叹号的用法实例详解
2014/09/04 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
简介JavaScript中toUpperCase()方法的使用
2015/06/06 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
基于Bootstrap重置输入框内容按钮插件
2016/05/12 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
vue中如何使用ztree
2018/02/06 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
2018/09/20 Javascript
Vue官方推荐AJAX组件axios.js使用方法详解与API
2018/10/09 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
Django实现快速分页的方法实例
2017/10/22 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
环境科学毕业生自荐信
2013/11/21 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
中学生获奖感言
2014/02/04 职场文书
项目负责人任命书
2014/06/04 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
Python制作表白爱心合集
2022/01/22 Python
Python中的嵌套循环详情
2022/03/23 Python
解决 redis 无法远程连接
2022/05/15 Redis
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android