Django cookie 与 session
COOKIES
设置cookie
创建一个全新的HttpResponse对象
1
2response = HttpResponse('设置cookie')
response.set_cookie('num',1,max_age=10*24*3600)获取cookie
1
2num = request.COOKIES['num']
return HttpResponse(num)
设置过期时间
max_age,设置单位为秒
1
response.set_cookie('num',1,max_age=10*24*3600)
exprice,设置较为复杂,但是适合长期设置
1
2
3from django.http import JsonResponse,HttpResponse
from datetime import datetime,timedelta
response.set_cookie('num',1,expires=datetime.now() + timedelta(days=10))
相较于cookie,session安全性较高,在保存一些重要数据时,更适合使用session来进行保存,如用户的帐号,密码,私人信息等
sessions
设置session
- ```python
#设置session
def set_session(request):request.session['username'] = 'root' request.session['age'] = '000000' return HttpResponse('设置成功')
1
2
3
4
5
6
7
8
9
2. 获取session
1. ```python
#获取session
def get_session(request):
username = request.session['username']
age = request.session['age']
return HttpResponse(username + ':' + str(age))
- ```python
session使用方法
直接使用字典的键值对获取方法
1
request.session['cookie名']
使用get方法获取,可以设置默认值
1
request.session.get('cookie名,default="默认值")
clear,删除session中保存的数据,但是删除掉的只是值
1
request.session.clear()
flash,删除整条数据,完全删除所有数据,数据表完全清除
1
request.session.flash()
del 删除目标数据的所有内容
1
del request.session['cookie']
设置session过期时间
1
request.session.set_expiry(value)
- 当没有设置过期时间的时候,默认将会在两周之后过期
- 当value值为0的时候,将会在关闭浏览器的时候过期
- 当value大于0的时候,将会在value秒之后过期
has_key 判断session中有没有对应的cookie
1
request.session.has_key('username')
Django cookie 与 session
http://sokrates.com.cn/2022/11/30/Study-notes-Python-Django-Django中cookie和session/