操作cookie:
设置cookie是设置值给浏览器的。因此我们需要通过response的对象来设置,设置cookie可以通过response.set_cookie来设置,这个方法的相关参数如下:
- key:这个cookie的key
- value:这个cookie的value
- max_age:最长的生命周期。单位是秒。
- expires:过期时间。跟max_age是类似的,只不过这个参数需要传递一个具体的日期,比如datetime或者是符合日期格式的字符串。如果同时设置了expires和max_age,那么将会使用expires的值作为过期时间。
操作session:
django中的session默认情况下是存储在服务器的数据库中的,在表中会根据sessionid来提取指定的session数据,然后再把这个sessionid放到cookie中发送给浏览器存储,浏览器下次在向服务器发送请求的时候会自动的把所有cookie信息都发送给服务器,服务器再从cookie中获取sessionid,然后再从数据库中获取session数据。但是我们在操作session的时候,这些细节压根就不用管。我们只需要通过request.session即可操作。示例代码如下
session常用的方法如下:
get:用来从session中获取指定值。
pop:从session中删除一个值。
keys:从session中获取所有的键。
items:从session中获取所有的值。
clear:清除当前这个用户的session数据。
flush:删除session并且删除在浏览器中存储的session_id,一般在注销的时候用得比较多