django 登录

def login(request):

    # token 使用 
    # secret 字符串只有服务端知道,用来解析token。
    # username 等字段存在payload中,和header 中的信息一起作为 base64编码。
    # 最后的 signature 是根据 header,payload 和 secretKkey 加密之后的结果。
    # header,payload,signature之间用 . 连在一起组成了 token
    # header,payload 可以分别用base64 解密。
    # token 是 btypes 类型,所以需要转换为 str才能 被json 序列化。
    # btypes 和 str 互转 str(b, encoding = "utf-8") ,btypes(str, encoding = "utf-8")
    # token = jwt.encode({'username':'roadaspen'},'secret',algorithm='HS256')
    # data = {"status":"成功","token":str(token,encoding="utf-8")}
    # return HttpResponse(json.dumps(data),content_type="application/json")

    # Content-Type
    # 如果是 form 需要上传文件时,或者单纯地使用form提交数据的时候, 用 content-type 为 multipe/form-data,用request.POST 接收,接收到的数据类型为 querydict ,使用 request.POST['key']获取相应的值。
    # 如果是 ajax,content-type 默认为 x-www-form-urlencode,用request.body 接收,值的表现形式为  key=value&key=value 的 btypes类型,
    # 当提交数据类型content-type 为 application/json时,用request.body 接收,值的表现形式为 {key:vaule,key:value} 的 json字符串,使用 json.loads()解析,使用get获取 key值对应的value
    # form-data / application/x-www-form-urlencoded
    # print(request.body) 
    # print(request.POST.get('username'))
    # print(request.POST['username'])  admin
    # # application/json
    # print(request.body) # b"{username:admin}"
    # print(json.loads(request.body)) #admin
    # print(json.loads(request.body)['username']) #admin

    # 设置 session  
    # 使用 request.session[key] = value 来设置 session,直接存储进 django 的 django_session数据库中。
    # 同样的浏览器的cookies中也出现一条session_id,每次请求时都会讲 session_id随着请求一起传递
    #request.session['h1']='hello' # 登录时执行,写 session
    # h1=request.session.get('h1') hello  读session
    #del request.session['h1']  # 删除 session 中指定的值
    #request.session.clear() # 删除 session 中的值
    #request.session.flush() # 键和值一起清空

    # 设置cookie
    # resp = HttpResponse('ok')
    # resp.set_cookie('hello', 'roadaspen', max_age=60*60*24*7)

    # 删除cookie
    # 删除的是请求传过来的cookie,浏览器的还是没有删掉
    #del request.COOKIES['my']

    # 浏览器 对应的 cookie 键值删除了
    #resp.delete_cookie('hello')

    # 获取cookie
    # print(request.COOKIES.get('hello'))
    # print(request.COOKIES['sessionid'])

    return HttpResponse("ok")

 

posted @ 2019-11-12 15:22  RoadAspen  阅读(109)  评论(0编辑  收藏  举报