今日概要
通过腾讯发送短信
Django的ModelForm组件
redis
注册的逻辑设计
内容回顾
local_settings.py的作用是什么?
.gitignore的作用?
虚拟环境的作用是什么?
今日内容
腾讯云发送短信
主要是注册和登录使用发送短信的功能还有其他的需要发送短信的地方也需要使用
首先注册腾讯云然后开通腾讯云短信(因为使用腾讯云会免费100条)
然后创建一个应用
就会得到这两个东西
只有得到这两个东西才能够发送短信
然后创建签名(在这之前申请一个微信订阅号)
然后创建模板
单条发送短信或者批量发送短信
这里会有一个频率限制
安装SDK
编写好发送短信的模块
创建视图函数对应路由
传递手机号,模板id
还要传入一个模板的内容参数
生成验证码
发送短信的函数还需要三个值
这三个东西需要写在local_settings中
这样就修改完成了
运行程序
如果发现报了这个错误
如果发送错误这里会有提示
就可以修改一下这个程序
在不同操作的时候模板id可能会发生变化
需要做这样的一个处理
这个短信的模板也需要写在settings里面
如果不是模板id就返回模板不存在
Django的ModelForm
生成注册字段
数据库的迁移
然后编写模板,每个app一个模板
这里的emailfield是已经提供了正则的,python已经帮助我们写好了,但是手机号的CharField就是一个普通的字符串
将默认的字符串重写
但是在Django中没有提供手机号的字段,需要我们自己编写正则表达式
如果正则表达式没有通过就会提示手机号的格式错误
这里的密码还是一个字符串但是展示的时候是以密码的方式进行展示
并且将这个文字更改成为密码
需要一个重复输入密码,但是这里的重复输入的密码是不会进入数据库当中的
还需要输入一个短信验证的窗口
这个是页面的模板
这个页面还是丑的一批
下载这个东西快速让页面好看起来,这里统一使用3版本
借助一个表单
在生成表单的时候也可以添加样式
但是以这种方式添加样式就会非常的麻烦
需要重写一个init方法
这里还需要一个发送验证码的功能
但是这里会带来一个边距
然后将这个居中
现在一般手机号和验证码这两个框框一般是靠在一起的
这里需要进行设置
注册事先思路
点击获取验证码
获取手机号,向后台发送ajax请求(手机,tpl=register)
如果检验合法之后向手机发送验证码
如果接收到了用户编写验证码,但是这个验证码是有时效限制的
接下来做一个时效处理,倒计时60秒实现
redis
安装redis
安装操作redis的模块
作业
做出这个页面
手机号和模板
校验
sms + redis
页面加上一个倒计时的效果
注册按钮:字段的校验,手机号,手机验证码的校验
通过django的redis来操作redis