当前位置: 首页 > Web前端 > vue.js

Django电商网站--注册功能

时间:2023-04-01 11:10:40 vue.js

Django是一款用python语音编写的开源软件。它允许程序员用很少的代码创建一个大型网站。具有耦合度低、开发速度快、部署方便等特点。注册界面:用户向服务器发送GET请求,服务器响应注册页面给客户端注册页面注册所需内容:用户名、密码、重新输入密码、手机号、图形验证码、短信验证代码,勾选同意用户协议,前端将客户填写的数据通过post方法发送给服务器进行业务逻辑处理。如果反馈响应中有错误信息,如果正确,将用户信息保存到数据库中。使用Django自带的login()函数需要保留登录信息。功能点:用户名(username):用户输入完成后,客户端会在@blur事件后对前后端进行一次规范校验(5\~20个字符),服务端会与填写的用户名进行比对在数据库中。count=User.objects.filter(username=username).count()如果count为0,表示用户名不重复。如果为1,则反馈(通过json实现网页的PartialRefresh)给前端,该名称不能使用。Password(密码):用户输入完成后,客户端会在@blur事件后对客户端进行一次规范的验证(8\~20个字符)。如果验证失败,前端会回复error\_password\_messageMessage'Passworddoesnotconformedthespecification'Re-enterthepassword(password2):用户输入完成后,客户端会进行一次规范验证(8\~20个字符)在@blur事件之后在客户端上。如果验证失败,则前端错误\_密码\_消息响应消息'密码不符合规范'。手机号(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,所以用这个代替),发送给后端,后端使用验证码插件生成图形验证码(文字版,图片版),以uuid为key,text为value,设置过期时间,用setex函数存入redis,然后返回图片给前端。短信验证码:后台获取到手机号和图形验证码后,调用发送短信的函数(发送短信的功能交给了celery,可以支持百万级并发)。用户勾选同意后,点击注册,前端将用户名、手机号、密码、密码2、校验信息、短信验证码发送给服务器。服务器首先检查数据是否完整,然后验证用户名、手机号和密码的合法性。密码和密码2是否相同,是否检查同意,短信验证码是否过期正确,如果有错误,会反馈相应的提示信息。如果正确,将用户信息注册到数据库中,并重定向到相应的页面(登录或主页)