二.httpRequest-httpResponse-JsonResponse对象
一.HttpRequest对象
HttpRequest在django.http这个模块中
它是用django创建
文档https://docs.djangoproject.com/en/1.11/ref/request-response/#httprequest-objects
属性:
HttpRequest.body
HttpRequest.path 不带参数的请求路径
HttpRequest.method
HttpRequest.encoding
HttpRequest.GET
HttpRequest.POST
HttpRequest.META
HttpRequest对象——方法:
HttpRequest.get_host() 获取主机名
HttpRequest.get_port()
HttpRequest.get_full_path() 获取完整请求路径
HttpRequest.is_secure() 是否是安全的
HttpRequest.is_ajax() 是否是ajax
属性查看效果:
views.py:
from django.http import HttpResponse
def index(request):
print(request.scheme)
print(request.method)
print(request.path)
print(request.body)
print(request.encoding)
print(request.POST)
print(request.META)
print(request.GET)
return HttpResponse("Hello world !!!")
刷新浏览器后终端效果如下:

方法查看效果:
def index(request):
print(request.get_host())
print(request.get_port())
print(request.get_full_path())
print(request.build_absolute_uri())
print(request.is_secure())
print(request.is_ajax())
print(request.readline())
print(request.__iter__())
return HttpResponse("Hello world !!!")
刷新浏览器后终端效果如下:

二.HttpResponse对象
HttpResponse在django.http这个模块中
传递一个字符串作为页面的内容到 HttpResponse 构造函数中即可
>>> from django.http import HttpResponse 导入模块
>>> response = HttpResponse("Here's the text of the Web page.") 实例化模块
>>> response = HttpResponse("Text only, please.", content_type="text/plain")
https://docs.djangoproject.com/en/1.11/ref/requestresponse/#httpresponse-objects HttpResponse对象——属性:
属性:
HttpResponse.content 返回普通的字符串
HttpResponse.charset 返回的字符集
HttpResponse.status_code 返回的状态码
HttpResponse.reason_phrase
方法:
HttpResponse.__init__(content=”, content_type=None, status=200, reason=None, charset=None)
(1)views.py: httpresponse返回字符串
def index(request):
res = HttpResponse()
res.content = "你好"
res.status_code = 300
return res
刷新浏览器后效果如下:

(2)views.py: httpresponse返回数据类型要特殊处理,因为它默认接收的是字符串
from django.http import HttpResponse
import json
def index(request):
data = ["a","b","c"] #列表
return HttpResponse(json.dumps(data)) #返回列表

其实上述效果可直接用JsonResponse对象解决,不用再用json.dumps序列化
三.JsonResponse对象
from django.http import HttpResponse,JsonResponse
def index(request):
data = ["a","b","c"] #列表
return JsonResponse(data,safe=False) #data是列表则safe参数要设置false,是字典则true,默认就是true所以不用设置
二.httpRequest-httpResponse-JsonResponse对象的更多相关文章
- Django day05 视图层之 (HttpRequest) \ (HttpResponse) \ (JsonResponse) 对象
一:视图层之HttpRequest对象 # 前台Post传过来的数据,包装到POST字典中 # request.POST # 前台浏览器窗口里携带的数据,包装到GET字典中 # request.GET ...
- Django框架(九):视图(二) HttpRequest对象、HttpResponse对象
1. HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpR ...
- Asp.net有三大对象:HttpContext, HttpRequest, HttpResponse
一.Asp.net有三大对象:HttpContext, HttpRequest, HttpResponse.命名空间: System.Web程序集: System.Web(在 System.Web ...
- django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统
Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...
- Request对象和Response对象 JsonResponse对象 和 Django shortcut functions 和QueryDict对象
request request属性 属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性. 除了特殊说明的之外,其他均为只读的. ''' 0.Http ...
- [摘]HttpContext, HttpRequest, HttpResponse, HttpRuntime, HttpServerUtility
[摘]http://www.cnblogs.com/fish-li/archive/2011/08/21/2148640.html HttpRuntime HttpRuntime公开了一个静态方法 U ...
- 运维开发笔记整理-JsonResponse对象
运维开发笔记整理-JsonResponse对象 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用HttpResponse发送json格式的数据 1>.HttpRespo ...
- Django——20141014深入理解Django HttpRequest HttpResponse的类和实例
深入理解Django HttpRequest HttpResponse的类和实例 了解META选项 了解中间件 理清所有模板传输模板变量的方式,并作出选择 Django模板系统:如何利用Django模 ...
- JavaScript学习总结(二)数组和对象部分
pt学习总结(二)数组和对象部分 2016-09-16 分类:WEB开发.编程开发.首页精华暂无人评论 来源:trigkit4 分享到:更多1 对象部分 Object类型 Object ...
- JsonResponse对象浅析
JsonResponse JsonResponse 对象: class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_ ...
随机推荐
- Java实现 蓝桥杯VIP 基础练习 完美的代价
package 蓝桥杯VIP; import java.util.Scanner; public class 完美的代价 { public static int sum = 0; public sta ...
- Java实现 LeetCode 403 青蛙过河
403. 青蛙过河 一只青蛙想要过河. 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有). 青蛙可以跳上石头,但是不可以跳入水中. 给定石子的位置列表(用单元格序 ...
- Java实现 蓝桥杯VIP 算法训练 筛选号码
算法训练 筛选号码 Description 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. ...
- Java实现花朵数
一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数. 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水 ...
- JDBC连接泄露问题的排查过程总结
当前使用的Spring JDBC版本是5.0.0.RC1,HikariCP版本是3.1.0. 今天测试同学反馈在前端页面点击次数多了,就报500错误,数据显示不出来.于是我在后台服务日志中观察发现Hi ...
- LB服务:硬件如何被软件取代(上)
[摘要] 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下LB,从硬件走到软件,他们经历了什么转变. 大业务上云,难免要用到LB.可是,您是否了解LB的来龙去脉?本文浅谈一下L ...
- @Transactional 事务的底层原理
最近同事发现一个业务状态部分更新的bug,这个bug会导致两张表的数据一致性问题.花了些时间去查问题的原因,现在总结下里面遇到的知识点原理. 问题一:事务没生效 我们先看一段实例代码,来说明下问题: ...
- POJ 2810:完美立方
原题链接 总时间限制: 1000ms 内存限制: 65536kB 描述 形如\(a^{2}\)= \(b^{2}\) + \(c^{2}\) + \(d^{2}\)的等式被称为完美立方等式.例如123 ...
- 全面概述Gitee和GitHub生成/添加SSH公钥
前言 现如今将代码开源已经成为软件开发行业的一种趋势,而现在比较有名的代码托管平台有GItHub.Gitee.Gitlab等相关平台.而我们在使用代码托管平台最为常见的就是如何将自己本地的代码推送到远 ...
- centos6 升级python2.6 到 python2.7
由于开发库依赖于python27,而自己安装的centos6.8自带的python是2.6.6. 因为centos的yum依赖于python26因此不打算覆盖26. 步骤如下: 1.官网下载源码压缩包 ...