Django中cookie,session,token三者的比较

1.cookie

# 设置cookie,从服务器返回的response中设置
response  = redirect(path)   # 重定向到某个指定的路径下
response.set_cookie(key,value,max_age=0)    # 直接设置cookie的值和value,max_age是过期时间,0是默认,None是永久,接上数字是具体时间,用s做单位。
如:response.set_cookie('name',person.name,max_age=3600)

# 获取cookie,从客户端请求中获得
name = request.COOKIE.get('name')
response = render(request,'home.index',contex=({'name':name})  
return response

# 清除cookie,从response清除
response = redirect('namespace:name')
response.delete_cookie('name')


2.session

# 设置session,一开始需要在project中setting里的middleware中添加上'django.contrib.sessions.middleware.SessionMiddleware',
#默认是加上的,在request中设置session
request.session['name'] = person.name
request.session.set_expiry(60)   # 设置过期时间,单位是s


# 获取session,也是从request中获取
name = request.session.get('name')


# 删除session,在response中删除
response.delete_cookie('sessionid')  # 在客户端删除session
del request.session['name']       #  在服务器端删除session
request.session.flush()             # 直接清除两端的session


3.token

# 设置token,首先需要建立有关token字段的表格,在response中设置
person.token = create_token()    # create_token 是创造token的函数
response.set_cookie('token',person.token)


# 获取token,在request中获取token
person.token = request.COOKIE.get('token')

# 清除token,在response中清除
response.delete_cookie('token')

4.进行md5加密

import hashlib
def create_hash(password)
  md5 = hashlib.md5()
  md5.update(password.encode('utf-8'))
  return md5.hexdigest()

5.uuid创建token

import uuid
token = str(uuid.uuid5(uuid.uuid4() ,'token'))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容