+-
Django电商网站--注册功能
首页 专栏 javascript 文章详情
0

Django电商网站--注册功能

王伟路 发布于 2 月 24 日

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 是否一致,是否勾选同意,短信验证码是否过期和正确,如果出错,则反馈响应的提示信息。如果没错,则将用户信息注册进数据库,重定向至响应的页面(登录或首页)

html5 javascript python django vue.js
阅读 45 更新于 2 月 24 日
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
王伟路
1 声望
0 粉丝
关注作者
0 条评论
得票 时间
提交评论
avatar
王伟路
1 声望
0 粉丝
关注作者
宣传栏
目录

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 是否一致,是否勾选同意,短信验证码是否过期和正确,如果出错,则反馈响应的提示信息。如果没错,则将用户信息注册进数据库,重定向至响应的页面(登录或首页)