猴砸

六、login_02

 

 一、cookie和session

1、cookie

透明的将信息保存在浏览器/客户端里面---类似于使用的存折

2、session

只有将相对应数据展示给用户,其他信息保存在服务器--类似于银行卡

二、两者的使用

1、HttpResponseRedirect

重定向跳转到某个页面(新路径)

2、页面跳转配置

3、登录成功之后在跳转页面返回登录名

3.1、方法一:数据的纯传递方式

3.2、方法二:利用cookie实现(不安全,信息会一直暴露出来)

通过key将用户名给保存,保存的时长

3.2、session方法(推荐、较为安全)

cd 到相对应的项目下,终端输入:python3 manage.py migrate  生成django_session表

4、链接数据库

4.1、打开SQLite manager客户端,在django_session数据库表里面可以查到相对应的数据

5、登录的判断逻辑完善

5.1、Django自带的用户系统(auth_user表)

 

5.2、创建超级管理员账号

终端输入命令:python3 manage.py createsuperuser(创建超管账号)

利用账号在http://127.0.0.1:8000/admin/ 页面登录

5.3、登陆到后台可创建超管账号

修改后台添加的账号

 

6、views文件登陆场景判断(通过查询数据库登陆)

6.1、是否为post请求,如果不是的话返回首页

6.2、为post请求,账号、密码为空-->返回首页并且提示账号或者密码为空

6.3、post请求,账号、密码非空,调用Django下面的认证方法判断用户是否存在,存在的话进行登录,写session并且跳转到管理页

6.4、post请求,账号、密码非空,调用Django下面的认证方法判断用户是否存在,不存在的话返回首页,并且返回错误信息

7、登录跳转页面添加前置条件(不能直接利用URL后缀就直接登陆)

7.1、问题描述

7.2、解决方法(未登录限制登录到相对应的页面)

7.3、直接请求路径跳转到首页

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2017-12-30 19:10  猴砸  阅读(112)  评论(0编辑  收藏  举报