登录逻辑实现

Django设计登录需要使用到的

HttpResponse--------》返回response对象到浏览器
render------》建立视图与模板之间的联系,实现视图与模板之间的传参
redirect------》重定向网页

1,实现登录基本逻辑

简单登录页面,加入验证码刷新,填入功能,登陆后下次账户自动填充
views业务处理视图中包含视图
读取session中账户信息,若有传参给登录页面,若没有,则为空参数,用render显示登录页面
组合形成验证码图片,并将组成验证码的信息保存在session中,通过HttpResponse显示一个验证码图片
书写登录前端代码,显示前端登录页面,账户,密码通过{{}}直接从视图中读取,验证码图片通过src指定图片路径,在上面生成的验证码图片路径中提取,(该路径为绝对路径)
验证码刷新逻辑实现:在前端代码中,通过script事件操作实现,通过点击图片直接修改src实现,但该src不能喝之前路径一模一样,可以在其后端添加?new Data()参数进行修改。
登录业务逻辑处理视图:判断用户账号,密码是否争取,正确显示首页信息,不正确则返回登录页面。

2,添加中间件后

首先在session中添加登录状态信息
首先将登录页面和验证码页面释放中间件,使之可以不用经过验证即可访问
将需要登录状态显示为登陆后才可以访问的页面加入中间件检测
在用户访问登录页面时,请求首先到达中间件判断,经检测发现该路径不需要检测,直接到达指定视图(如何获取当前路径,可以使用request.path直接获取当前路径)
在用户访问需要登录后才能访问的页面后,会将请求首先到达中间件判断路径,经判断需要检测,此时读取session中登录状态,若无登录状态信息或登录状态信息为未登录状态,用重定向返回登录页面

你可能感兴趣的:(学习小总结)