前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django基础篇-响应

Django基础篇-响应

作者头像
小团子
发布2019-07-18 11:10:31
4440
发布2019-07-18 11:10:31
举报
文章被收录于专栏:数据云团数据云团
  • HttpRequest 对象
  • HttpResponse 对象

① HttpResponse 对象

在 django.http 模块中定义了 HttpResponse 对象的 API。

属性及方法:

  • 属性:
  1. content:表示返回的内容,字符串类型;
  2. charset:表示 response 采用的编码字符集,字符串类型;
  3. status_code:响应的 HTTP 响应状态码;
  • 方法:
  1. init:使用页内容实例化 HttpResponse 对象;
  2. write(content):以文件的方式写;
  3. flush():以文件的方式输出缓存区;
  4. set_cookie(key, value='', max_age=None, expires=None):

设置 Cookie

key、value 都是字符串类型;

max_age 是一个整数,表示在指定秒数后过期;

expires 是一个 datetime 或 timedelta 对象,会话将在这个指定的日期/时间过期;

注意:datetime 和 timedelta 值只有在使用 PickleSerializer 时才可序列化;

max_age 与 expires 二选一,

如果不指定过期时间,则关闭浏览器就实效,

5. delete_cookie(key):删除指定的 key 的 Cookie,如果 key 不存在则什么也不会发生。

有关 cookie 的例子:

②HttpResponse 的子类

JsonResponse :返回 json 数据

  • 帮助用户创建 JSON 编码的响应
  • 参数 data 是字典对象
  • JsonResponse 的默认 Content-Type 为 application/json

简写函数:

  • render:模版渲染;
  • redirect:重定向,服务器端跳转,结合 reverse 方法使用;

状态保持:

  • http 协议是无状态的:每次请求都是一次新的请求,不会记得之前通信的状态;
  • 客户端与服务器端的一次通信,就是一次会话实现状态保持的方式:在客户端或服务器端存储与会话有关的数据;
  • 存储方式包括 cookie、session,会话一般指 session 对象;
  • 使用 cookie,所有数据存储在客户端,注意不要存储敏感信息;
  • 推荐使用 session 方式,所有数据存储在服务器端,在客户端 cookie 中存储 session_id;
  • 状态保持的目的是在一段时间内跟踪请求者的状态,可以实现跨页面访问当前请求者的数据;
  • 注意:不同的请求者之间不会共享这个数据,与请求者一一对应。

启用 session

在 settings.py 文件中

使用 session

  • 启用会话后,每个 HttpRequest 对象将具有一个 session 属性,它是一个类字典对象;
  • get(key, default=None):根据键获取会话的值;
  • clear():清楚所有会话;
  • flush:删除当前的会话数据并删除会话的 Cookie;
  • del request.session['member_id']:删除会话。

用户登录例子:

会话过期时间

  • set_expiry(value):设置会话的超时时间: 如果没有指定,则两个星期后过期; 如果 value 是一个整数,会话将在 values 秒没有活动后过期; 如果 value 是一个 imedelta 对象,会话将在当前时间加上这个指定的日期/时间过期; 如果 value 为 0,那么用户会话的 Cookie 将在用户的浏览器关闭时过期; 如果 value 为 None,那么会话永不过期;

settings.py 文件中的配置:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档