PYTHON第七十天笔记12.1-星期五
自记录:
服务器可以设置使用多个cookie登录浏览器。
一、课上笔记
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
day70
课前练习:
装饰器
今日内容
学员管理系统完善之路
1. 页面跳转的问题(手动输入URL来浏览网站)
如何解决模板文件有很多重复的问题呢?
-使用模板语言的母板和继承
继承母板
-{% extends 'base.html' %}
在母板里面定义block
- 页面布局的block
- pasge-css
- page-js
引用小组件
-{% include 'nav.html' %}
http://www.cnblogs.com/liwenzhou/p/7931828.html
2. 不用登陆就可以看其他的内容
Cookie
下定义:
是保存在浏览器端的“键值对”
服务端可以在用户浏览器写Cookie --->响应头里面会有 Set-Cookie
登陆之后,
浏览器每次发请求的时候会携带Cookie
Cookie应用:
- 登陆
- 7天免登陆
- 武Sir的前女友投票的故事
跳转回登陆之前的那个页面
实现原理是在URL上加一个跳转URL的参数
***** 后面会讲 Django.auth @login_require
自己实现:
在login页面拼接一个nexturl=/xxx/
在后端的函数里面可以使用request.get_full_path()
在模板语言里面也可以使用request.get_full_path ***不要加括号***
复习下request学过的方法:
request.POST.get() --> 取提交的数据里面的参数
request.GET.get("key") --> 取URL里面的参数
request.POST.getlist() --> 提交的是列表的数据类型
request.get_full_path()--> 获取请求的URL
request.method --> 获取具体的请求方法:GET/POST等
request.COOKIES.get() --> 获取具体的cookie值
response响应的方法
response.set_cookie()
response.delete_cookie()
set_cookie的参数:
key,
value='',
max_age=None, --> 超时时间 多少秒之后cookie失效
expires=None, --> 超时时间 具体时间cookie失效
path='/', --> URL
---↑上面的必须会
domain=None, --> 域名
secure=False, --> 加密用的 Https
httponly=False --> JS代码不能读取cookie,只能浏览器发请求时携带cookie
Cookie超时时间
max_age=None, --> 超时时间 多少秒之后cookie失效
expires=None, --> 超时时间 具体时间cookie失效
设置加盐的Cookie
response.set_signed_cookie("login2", "1", max_age=10, salt="PythonFullstackS7")
获取加密的Cookie:
request.get_signed_cookie("login2", salt="PythonFullstackS7", default=None)
要手动设置默认值,防止取值抛KeyError的异常
爬虫项目里面会带你们用代码去操作Cookie
Cookie + Session
二、课上图片
1
2
3.1
3.2
3.3
4.1 定位该文件在目录树中的位置
4.2 可以查看python源码的结构
5 cookie加盐,调用时要指定default
6 左可以回退->跳转过来的位置