Python全系列 教程
3567个小节阅读:5930.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
开发逻辑,接收到用户请求:
xxxxxxxxxx
import random
import time
from django.shortcuts import render
from django.conf import settings
from django.http import HttpResponse
def get_code(request):
if request.method =='POST':
# 获取用户的邮箱
email = request.POST.get('email')
# 生成验证码
code = random_code()
print(f'您的邮箱是:{email}, 验证码是:{code}')
# 获取上次获取验证码的时间
last_time = request.session.get('last_time')
# 判断last_time是否存在
if last_time and time.time()-last_time < settings.MAILE_INTERVAL:
return HttpResponse('验证码获取太频繁,请 60 秒后再试!')
else:
# 发送邮件
send_mail(settings.SERVER_MAILE,settings.SERVER_PWD,f'您的验证码是:{code}',email)
# 保存验证码到session
request.session['code'] = code
# 保存邮箱到session
request.session['email'] = email
# 记录上一次发送的时间
request.session['last_time'] = time.time()
# 返回结果
return HttpResponse('验证码已发送邮箱,请查收!')
def random_code():
# 生成随机验证码0-9999 10
num = random.randint(0,9999)
# 补充位数,zfill()补充到指定的 位数
code = str(num).zfill(4)
return code