响应Response
视图在接收请求并处理后,必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建,HttpResponse对象由开发人员创建。
文章目录
- 响应报文组成
- 1. HttpResponse
- 2. HttpResponse子类
- 3. JsonResponse
- 4. redirect重定向
响应报文组成
HTTP/1.1 200 OK\r\n
Server: Tengine\r\n
Content-Type: text/html; charset=UTF-8\r\n
Transfer-Encoding: chunked\r\n
Connection: keep-alive\r\n
Date: Fri, 23 Nov 2018 02:01:05 GMT\r\n
\r\n(响应头信息后面还有一个单独的’\r\n’不能省略)
<!DOCTYPE html><html lang=“en”> …</html>
1. HttpResponse
可以使用django.http.HttpResponse来构造响应对象。
HttpResponse(content=响应体, status=状态码, content_type=响应体数据类型,)
也可通过HttpResponse对象属性来设置响应体、状态码:
- content:表示返回的内容。
- status_code:返回的HTTP响应状态码。
响应头可以直接将HttpResponse对象当做字典进行响应头键值对的设置:
response = HttpResponse()
response['Itcast'] = 'Python' # 自定义响应头Itcast, 值为Python
示例:
from django.http import HttpResponsedef demo_view(request):return HttpResponse('itcast python', status=400)或者response = HttpResponse('itcast python')response.status_code = 400response['Itcast'] = 'Python'return response
2. HttpResponse子类
Django提供了一系列HttpResponse的子类,可以快速设置状态码
HttpResponseRedirect 301
HttpResponsePermanentRedirect 302
HttpResponseNotModified 304
HttpResponseBadRequest 400
HttpResponseNotFound 404
HttpResponseForbidden 403
HttpResponseNotAllowed 405
HttpResponseGone 410
HttpResponseServerError 500
3. JsonResponse
若要返回json数据,可以使用JsonResponse来构造响应对象,作用:
- 帮助我们将数据转换为json字符串
- 设置响应头Content-Type为 application/json
from django.http import JsonResponsedef demo_view(request):return JsonResponse({'city': 'beijing', 'subject': 'python'})
4. redirect重定向
from django.shortcuts import redirectdef demo_view(request):return redirect('/index.html')
响应Response相关推荐
- Http响应Response详解
1. HttpServletResponse概述: 在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响 ...
- 【07 响应(response) 学习笔记】
响应response 笔记记录 一.响应 1. 常见状态码 2. 字节流响应消息&乱码问题解决 3. 字符流响应消息 4. 响应图片 5. 设置缓存 6. 定时刷新 7. 请求重定向 8. 文 ...
- Servlet深入服务之响应response
HttpServletResponse与HttpServletRequest Web服务器收到哭护短的http请求时,会针对每一次请求,分别创建一个用于代表请求的request对象和代表响应的resp ...
- php response响应,9. 响应 (Response)
## 为什么单独创建一个Response? 跟`为什么要单独创建一个Request` 一样. 原因: 可以管理 如: 在 `swoole` 不应该用 `echo`, 因为 `swoole` 是 `cl ...
- 抓包修改服务器响应Response的数据
前言 有时候我们出于一些原因,需要修改服务器响应给用户浏览器的数据.比如:我们传递给服务器我们的用户名和密码,服务器发送给我们一段文本,其中包含你的一个角色权限比如Status,这个Status限制了 ...
- HTTP响应 Response对象
Response对象 一.Response对象功能 1. 设置响应行 2. 设置状态码:setStatus(int sc) 3. 设置响应头: 4.重定向便捷方法 5.request转发 6.重定向 ...
- 下载文件时,响应Response设置,浏览器弹出下载框
在你潇洒的写下InputStream转到response的时候,需要先设置下Response,否则浏览器并不会弹出下载框 预处理 "Content-Type", "app ...
- 响应response.setHeader方法
1.一秒刷新页面一次 response.setHeader("refresh","1"); 2.五秒跳到其他页面 response.setHeader(&quo ...
- asp.net core 系列之Performance的 Response compression(响应压缩)
本文,帮助了解响应压缩的一些知识及用法(大部分翻译于官网,英文水平有限,不准确之处,欢迎指正). 什么是响应压缩?响应压缩简单的说就是为了减少网络带宽,而把返回的响应压缩,使之体积缩小,从而加快响应的 ...
最新文章
- Vertica数据库
- Longest Common Prefix
- python求助神器_python三大神器
- 基础IO(文件接口、安装内核源码超详细步骤图解、静态库与动态库)
- 七牛切片视频php,音视频切片(HLS)
- 将相同值的行内容进行合并操作--Sql2005
- Qt总结之八:绘制仪表盘
- java中add和addall区别,java中list的add与addall方法区别
- fedora20配置静态ip
- win10下乌龟git安装和使用
- 华为 荣耀 等手机解锁BootLoader
- c语言判断二次函数,知识:六法搞定二次函数解析式的确定
- LaTex图表中英文标题,中英文图表目录
- 22牛客多校1 J.Serval and Essay (启发式合并)
- 玉米社:竞价推广创意如何优化,几个创意撰写技巧分享给你!
- route命令添加永久路由
- ElasticSearch-查询语法(结构化查询)
- python生成热图_用Python生成热图
- 合肥市服务器软件维护,一卡通系统维保计划书.doc
- ActiveX控件打包成Cab置于网页中自动下载安装 (收藏未实践测试)