Django-cookie

bookandmusic
2022年01月04日 · 阅读 5
cookie
操作
设置Cookie
可以通过HttpResponse
对象中的set_cookie
方法来设置cookie
。
HttpResponse.set_cookie(cookie名, value=cookie值, max_age=cookie有效期)
max_age
单位为秒,默认为None
。如果是临时cookie
,可将max_age
设置为None
。
读取Cookie
可以通过HttpRequest
对象的COOKIES
属性来读取本次请求携带的cookie
值。request.COOKIES
为字典类型。
cookie
模拟用户登录
登录及设置登录标识
from django.views import View
from django.http.response import JsonResponse
class Login(View):
def post(self, request):
query_dict = request.POST # 获取form-data参数,得到django的查询字典
userName = query_dict.get('userName', None)
password = query_dict.get('password', None)
if userName == "mac" and password == '123321': # 登录成功,设置cookie标识,过期时间为2小时
hp = JsonResponse({"code": 200, "msg": "OK"})
hp.set_cookie('userName', userName, max_age=2 * 60 * 60)
return hp
else: # 登录失败,返回错误信息
return JsonResponse({'code': 200, 'msg': "FAIL"})
登录校验
from django.views import View
from django.http.response import JsonResponse
class UserInfo(View):
def get(self, request):
cookie_dict = request.COOKIES
userName = cookie_dict.get('userName', None)
if userName is not None:
return JsonResponse(
{"code": 200, "msg": "OK",
"userInfo": {"userName": userName, "gender": "男", "email": "mac321@163.com"}})
else:
return JsonResponse({"code": 200, "msg": "FAIL"})