django项目-用户模块总结

一、验证用户名

1.前台

获取用户输入的用户名,并判断是否为空,并将用户名作为一组数据传入后台

2.后台

连接mysql,查询此用户名在数据库内的个数,并返回给前台

3.二次返回前台

如果后台返回的数据是0,说明用户名在数据库内不存在,是一个可用的用户名,如果返回的是1,则说明该用户名已经存在数据库内,不能使用。

二、验证手机号

原理与一用户名类似,不在赘述

三、验证码

1.前台

用户点击进入注册页面,或者点击图片时,并跟新uuid,将新的uuid作为参数传入后台。

2.后台

后台接收这个uuid,然后调用captcha生成图片和图形验证码,连接redis,把uuid当成外键,验证码作为值传入redis等待后面的校验。然后把图片作为返回值,渲染到img标签

四、短信发送

1.先获取用户输入的手机号

判断手机号是否合法,判断手机号是否注册

2.获取用户输入的图形验证码

判断用户是否输入图形验证码

把用户的到的图形验证码,图形验证码的uuid,手机号一起用ajax发送到后台让后台判断

3.后台判断

在后台判断此手机号是否合格,图形验证码是否合格并将数据传入forms进行数据清洗,

4.数据清洗

判断手机,用户输入的图片验证码是否合格。

扫描二维码关注公众号,回复: 8723262 查看本文章

如果合格判断图形验证码与后台存在redis的图像验证码是否相同,如果相同就将数据库内的外键删除。

判断用户在60s内是否多次发送。

如果都可以就退出数据清洗。

5.二次返回后台

构建一个新的外键,来存储生成的验证码,把它存到reids,过期时间为5分钟,利用雨布模块celery_tasks来进行短信发送,存入手机号,验证码,过期时间和模板信息,如果发送成功返回发送成功,如果不成功就返回相应的错误(这里云通讯只能使用自己的号码)

6.返回前台

如果短信发送成功,就开始在点击按钮上出现60s倒计时,提醒用户这时间是不能点的。如果错误,则报出相应的错误

五、注册

1.前台接受数据

接受以下参数:

用户名,密码1,密码2,手机号和短信验证按

当用户点击注册时

2.前台判断

首先阻止默认提交操作,然后判断用户名是否已经注册,手机号是否已经注册,密码是否为空和确认密码长度是否为6-20位,并判断两次面是否一致和短信验证码是否Wie6位数。

3.判断完成,创建请求参数

将用户名,密码1,密码2,手机号,短信验证码创建成一个参数,等下通过ajax传入后台进行校验。

4.后台校验

接受前台返回的数据,把数据放进forms进行数据清洗

5.数据清洗

判断各个参数是否合格,如果合格,判断用户名和手机号是否注册,如果都是对的,就判断两次密码是否一致,如果一致,连接reids,查看用户输入的验证码是否和redis里面的验证码相同。如果相同,退出数据清洗,如果以上有一个不正确的就返回相应的错误,退出数据清洗

6.二次返回后台

如果数据清洗成功,就将用户名,手机号和密码存入到mysql,并返回注册成功如果有错误则报相应的错误

7.二次返回前台

如果注册成功,就显示注册成功,将页面重定向到登录页面,如果出错则返回相应的错误

六、登录登出

3.1 登录

1.前台获取参数

获取一下参数:

用户名或者手机号

密码

2.前台判断

首先阻止默认提交操作,判断用户账号是否为空,并判断手机的格式是否合法,并判断密码是否为空,并判断面是否为6-20位,并判断用户是否勾选了记住我。

3.判断完成。创建请求参数

将账户,密码和是否勾选作为参数通过ajax传入到后台进行校验

4.后台校验

获取前台返回的值,并将获得到的数据放入forms进行数据清洗。

5.数据清洗

先判断密码是否合格,然后复用request(后面要用),判断账户是否为空,并判断如果是手机,手机格式是否合法。然后判断账号是用户名还是手机号,使用check_password来判断用户输入的密码是否和mysql里的面相同。如果相同,就进行登录会到后台

6.二次回到后台

如果数据清洗成功,则返回登陆成功的信息,并返回到前台。

7.二次返回前台

如果登录成功,将页面重定向到首页或者用户之前访问的页面。

并且在页面上显示用户的用户名,如果是超级用户,并显示后台管理

如果上面的步骤出现问题就返回相应的问题由前台输出。

3.2 登出

当用户点击退出登录时,自动调用logout函数,清除用户的cookie并且将页面重定向到设定好的页面。

如果想获取更多有关python的信息,和想玩python制作的小程序,可以关注微信公众号(dreamspy)。我们一起用python改变世界,一起用python创造梦想。

在这里插入图片描述

发布了43 篇原创文章 · 获赞 11 · 访问量 5422

猜你喜欢

转载自blog.csdn.net/jiangSummer/article/details/103299566