Django是一款由python语音编写的开源软件。能够让程序员用很少的代码就能制作出一个大型网站。具备低耦合、开发疾速、部署不便等特点的特点。

注册界面:用户向服务端发送get申请,服务端将注册页面响应给客户端

注页面册必填内容:用户名、明码、再次输出明码、手机号、图形验证码、短信验证码、勾选批准用户协定,前端通过post办法 将客户填写的数据发送至服务端进行业务逻辑的解决,如果有谬误 反馈响应的错误信息,如果正确,则将该用户信息保留至数据库 用Django自带的login()函数放弃登录信息

需要性能点:
用户名(username):用户输出实现之后,客户端在@blur事件之后,前后端都对其进行规范性校验(5\~20个字符),同时服务端将填写的用户名在数据库中进行比对 count = User.objects.filter(username=username).count()
如果count是0,则该用户名没有反复,如果是1,则反馈(通过json实现对网页的部分刷新)给前端反复,无奈应用该名。

明码(password):用户输出实现之后,客户端在@blur事件之后,前端对其进行规范性校验(8\~20个字符),如果校验不合格,则 前端的 error\_password\_message 响应信息‘明码不符合规范’

再次输出明码(password2):用户输出实现之后,客户端在@blur事件之后,前端对其进行规范性校验(8\~20个字符),如果校验不合格,则 前端的 error\_password\_message 响应信息‘明码不符合规范’。

手机号(mobile):用户输出实现之后,客户端在@blur事件之后,前端对其进行规范性校验(结尾数字为1,第二个数字为3\~9,再加前面9个整数,总计11位),如果校验不合格,则 前端的 error\_password\_message 响应信息‘手机号码不符合规范’。同时服务端将填写的手机号在数据库中进行比对 count = User.objects.filter(mobile=mobile).count()
如果count是0,则该用户名没有反复,如果是1,则反馈(通过json实现对网页的部分刷新)给前端反复,无奈应用手机号。

图形验证码(image\_code):前端生成一个uuid(惟一标识符,因为此时还没有用户ID,所以用此来代替),发送给后端,后端用captcha插件生成图形验证码(一个text版本,一个image版本),将uuid作为键,text作为值,设置一个过期工夫,用setex函数保留进redis,而后将image通过 http.HttpResponse(image,content\_type='image/jpeg') 响应给前端。



短信验证码:后端获取到  手机号、图形验证码 验证胜利之后,调用发送短信的性能(发送短信的性能交给celery负责,可反对百万级的并发)

用户在勾选批准之后,点击注册,前端将 用户名、手机号、明码、明码2、勾选信息、短信验证码发送至服务端,服务端首先查看各项数据是否齐全,而后验证用户名、手机号、明码的合法性,验证明码和明码2 是否统一,是否勾选批准,短信验证码是否过期和正确,如果出错,则反馈响应的提示信息。如果没错,则将用户信息注册进数据库,重定向至响应的页面(登录或首页)