• Django--响应


    HttpResponse

        导入方式  from django.http import HttpResponse

        content:表示返回的内容

        status_code:返回的 HTTP 响应状态码

        content_type:指定返回数据的的 MIME 类型

      Django 规定每个视图函数, 必须返回一个 HttpResponse( ) 对象

      HttpResponse 可以从 django.http 中导入

      HttpResponse 中有三个参数, 分别为 content(内容), content_type(内容类型), status_code(状态码)

    HttpResponse 子类

      Django  提供了一系列的HttpResponse的子类,可以快速设置状态码

      导入方式     from django.http     import  HttpresponseNotFound

      子类有:

        HttpResponseRedirect 301      

        HttpResponsePermanentRedirect 302   

        HttpResponseNotModified 304       

        HttpResponseBadRequest 400

        HttpResponseNotFound 404

        HttpResponseForbidden 403

        HttpResponseNotAllowed 405

        HttpResponseGone 410

        HttpResponseServerError 500

    有时候, 在写视图的时候, 我们会返回 HttpResponse 的子类的对象, 而不是 HttpResponse( ) 对象

    HttpResponse 的子类很多, 我们可以酌情使用

    JsonRespones  类       from django.http  import  JsonRespones 

      帮助我们将 字典类型转换  为 json 类型并且还不用自己设置响应头中 contentType 字段

      设置响应头 Content-Type 为 application/json

      

    redirec    重定向         from django.shortcuts  import  redirec  

      redirect(想要跳转的路径)       可以和reverse  配合使用  

      redirect 最高级别父类  Respones 

    Cookie     同源网站将会携带同源cookie

      定义 :

        由服务端生成,跟随 响应 保存在客户端的一种存储形式,存储方式为 kye:value 方式   一般不储存敏感信息,可能会加密

      特点:

        Cookie 以键值对 Key-Value 形势进行信息的存储           

        Cookie 基于域名安全,不同域名的 Cookie 是不能互相访问的

      设置:

        key: cookie 中保存信息的名称

        value: cookie 中保存信息时, 名称对应的值部分

        max_age: cookie 中保存信息的有效期, 超过有效期, key-value 失效

        ​ 其中 max_age 单位为秒, 默认为 None. 如果设置 None 值, 则关闭浏览器失效.

      读取:

        可以通过 HttpRequest 对象( request )的 COOKIES 属性来读取本次请求携带的 cookie 值

    csrf 拒绝跨站攻击    跨站攻击 区别与cookie同源

    Session    占用资源较大  但是跟安全

      定义:会话控制方式,有服务端创建,保存服务端的数据存储形式,存储方式为 kye:value 方式   可以储存敏感信息,部分会加密      

         同时会产生一个sessionid / sessionlkey    存放在cookie中  通过响应 返回客户端

      作用: 服务器上保存用户状态信息  以供前端页面访问

             因为数据保存在服务器端, 所以可以保存敏感信息. 每次前端发送请求, 可以随时获取对应的信息. 保持会话状态

      特点:依赖 cookies    可以存储敏感,重要信息     支持更多字节  session共享问题

    Session  的常规操作

      写入键值对

        request.session['键']  = 值

      读取数据

        value = request.session.get('键',默认值)

      删除 value值 的部分 

        request.seeion.clear()

      清楚整条数据   key value

        request.session.flush()

      删除指定数据

        del request.session['键‘ ]

      设置有效期

        request.session.set_extpiry(value值)

    往 session 中存储或者读取数据使用的对象都是 request

    存储时调用的格式是: ```request.session['key'] = 'value'```

    获取 session 中的数据格式是: ```value = request.session['key']```

    删除使用的格式: del request.session['key']

    设置有效期使用的格式: ```request.session.set_expiry( value )```

      

     
  • 相关阅读:
    HTTP协议详解【转】
    Spring中的IOC和AOP
    Servlet生命周期
    Struts2基本原理【转】
    继承映射的三种方式
    树状数组(两个树状数组累计)
    二维数组数组(区间更新+单点查询)
    东西海岸(逆序对)
    离散化+单点更新+区间求和
    单调栈+dp
  • 原文地址:https://www.cnblogs.com/069527qwer/p/11971909.html
Copyright © 2020-2023  润新知