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 )```

  

 

 

 

 
posted @ 2019-12-02 17:14  _New_Bie  阅读(137)  评论(0编辑  收藏  举报