django cookie session get post 总结

来源:兄弟连

记录状态,http请求协议是无状态的协议,记不住用户的信息,因为需要借助一些服务来记住用户的一些状态

cookie
    是把数据存在的浏览器中,
    内容受限,key==>value 都是字符串
    容易被恶意获取,不能有效保护隐私

    用法:
        用响应对象进行设置
        res = HttpResponse()
        res.set_cookie()

        使用请求对象进行获取
        request.COOKIES.get()

session
    是在服务器端进行存储数据(数据库,文件,redis)
    内容丰富,key是字符串,值可以是任意类型
    他数据存储在服务器,不容易被获取,
    session在存储数据时会生成一个key(sessionid),把sessionid存储到浏览器的cookie中
    每一次请求,都用cookie中sessionid去验证数据,


GET,POST 值的获取
    获取一键一值的时候
        http://127.0.0.1/user/list/?a=1&b=2&c=3
        如果是get方式传递
            request.GET['abc'] # 如果abc不存在会报错
            request.GET.get('abc',None) #如果abc不存在则读取默认值
        如果是post方式传递
            request.POST['abc'] # 如果abc不存在会报错
            request.POST.get('abc',None) #如果abc不存在则读取默认值

    获取一键多值
        http://127.0.0.1/user/list/?a=1&a=2&c=3
        request.GET.getlist('a',None)
        request.POST.getlist('a',None) # a=[1,2]

响应对象
    普通文本,加载模板,重定向,返回json
    data = [
        {'username':'zhangsan','age':21},
        {'username':'lisi','age':25},
        {'username':'wangwu','age':28},
        {'username':'zhaoliu','age':20},
    ]
    # 注意在使用JsonResponse响应json数据时,如果数据不是字典类型,则需要设置,safe=False
    return JsonResponse(data,safe=False)
 

猜你喜欢

转载自blog.csdn.net/qq_35515661/article/details/82847023
今日推荐