用户注册功能
1.实际上就是数据库创建一条数据
2.Django操作数据库的模型
一.用户模型设计(表的设置)
1.表字段的分析
- 账号
- 密码
- 手机
- 邮箱
- 邮箱是否有效
2.用户模型设置
Django的开发效率很高,内置了很多功能,例如:权限验证
建议最好自定义User的模型(可延展性)
一个模型就是一个类
二.功能需求分析
1.接口设计思路
- 分析业务逻辑,明确需要设计的几个相关业务,将每个子业务当做一个接口分析
- 分析接口的功能,明确接口的访问方式以及返回数据
- 接口的请求方式
GET
PUT
POST
DELETE
- 接口的URL定义
- 需要接受什么参数(路径,查询参数,表单,json)
- 返回的数据以及数据格式
- 接口的请求方式
2.注册功能分析
- 流程
- 功能接口
发送一次请求,就要一个接口
- 注册页面
- 图形验证码
- 用户名校验
- 手机号码校验
- 短信验证码
- 注册保存用户数据
三.注册页面
1.接口设计
1.1说明
条目 | 说明 |
---|---|
请求方法 | GET |
url定义 | /user/register/ |
参数格式 | 无参数 |
1.2返回的数据
注册页面的 html
2.1视图
2.2url
四.图形验证码功能
1.接口设计
1.1说明
条目 | 说明 |
---|---|
请求方法 | GET |
url定义 | /image_code/ |
参数格式 | 查询参数 |
1.2参数说明
条目 | 类型 | 是否必须 | 描述 |
---|---|---|---|
rand | 字符串 | 否 | 随机浮点数字符串 |
1.3返回数据
验证码图片
def image_code_view(request):
'''
生成验证码
url : '/image_code/'
:param request:
:return:
'''
#1.生成验证码,随机生成字符串,生成图片
text ,image = captcha.generate_captcha()
#2.后端保存验证码,为了校验
#保存在session中
request.session['image_code']=text
request.session.set_expiry(constants.IMAGE_CODE_EXPIRS)
#过期时间
#3.记录日志
logger.info('Image code:{}'.format(text))
#4.返回验证码图片
return HttpResponse(content=image,content_type='image/jpg')
五.点击刷新
$(()=>{
//1.点击刷新验证码
$('.captcha-graph-img img').click(function () {
$(this).attr('src','/image_code/?rand=' + Math.random())
});
注意要在
register.html
里面挖坑填坑
最后上传码云
$ git add .
$ git commit -m 'update projects'
$ git push origin master