授权一个邮箱 用来发送邮件
可直接看参考视频
要用from django.core import mail发邮件
需先在settings.py中配置
EMAIL_BACKEND django.core.mail.backends.smtp.EmailBackend EMAIL_HOST smtp.qq.com # qq邮箱的smtp服务地址 EMAIL_PORT 25 # smtp服务端口号 EMAIL_HOST_USER xx xx.com # 发送者邮箱 EMAIL_HOST_PASSWORD # 在qq邮箱开启smtp服务会给你一个授权码自动发邮件函数
mail.send_mail( subject xxx注册验证码 , message message, # 消息内容 from_email xxx qq.com , recipient_list [email] # 收件人邮箱列表给发送按钮用绑定一个事件 通过ajax向视图的send_email函数发送请求。当然 在这之前 得在urls.py加上send_email路由 views.py加上send_email函数。5分钟后才可再次点击发送。
一个新的知识点
prop() 方法设置或返回被选元素的属性和值。
定时器
setInterval(function(), 1000) 每1000ms会执行一次函数
clearInterval(移除哪个定时器)
function sendEmailTime(){
var $sendbtn $( #btnCode );
$sendbtn.prop( disabled , true);
var time 300;
var remind setInterval(function (){
$sendbtn.val(time 秒后重新发送 );
time time - 1;
if(time 1){
clearInterval(remind);
$sendbtn.prop( disabled ,false);
$sendbtn.val( 发送邮箱验证码 );
},1000)
send_email视图函数经过form表单 新的一个SendEmailForm表单 只用表单的验证功能 验证 通过则向输入的邮箱发送邮件 内容是随机验证码 并将随机验证码和邮箱存入缓存 过期时间是五分钟。
又一新知识点 数据库缓存的配置与使用
在settings.py配置
使用数据库缓存之前先执行以下命令
会在数据库中创建一张存放缓存的表
python manage.py createcachetable
# 数据库缓存
CACHES {
default : {
BACKEND : django.core.cache.backends.db.DatabaseCache ,
LOCATION : my_cache_table ,
TIMEOUT : 300, # 缓存保存时间 默认300s
还有可选参数
当然是放在default里
OPTIONS : {
MAX_ENTRIES : 删除旧值之前允许缓存的最大条目。默认是 300 。
CULL_FREQUENCY : 当达到 MAX_ENTRIES 时 被删除的条目的比例。
实际比例是 1 / CULL_FREQUENCY 所以将 CULL_FREQUENCY 设置为 2
即当达到 MAX_ENTRIES 时将删除一半的条目。这个参数应该是一个整数 默认为 3。
如果只配置了一个缓存 那么可以直接使用如果配置了多个缓存 例如配置两个缓存’myalias’和’myalias_2’
要使用myalias则 cache1 caches[‘myalias’] 导入具体对象
8.怎么用 我是个莫的感情的搬运工
其他的使用方法详见文档 3.明日内容
验证验证码 成功则提交注册信息 注册成功 即注册功能完成。
4.总结保持在学习的路上



