Django之HttpRequest和HttpReponse

当一个web请求链接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的试图函数,每个请求的试图函数都会返回一个HttpResponse

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

  当一个web请求链接进来时,django会创建一个HttpRequest对象来封装和保存所有请求相关的信息,并且会根据请求路由载入匹配的试图函数,每个请求的试图函数都会返回一个HttpResponse对象。

  HttpRequest和HttpReponse类都包含在django.http包中

1. HttpRequest类

HttpRequest属性

HttpRequest.scheme 请求协议(http或者https) HttpRequest.body 以字节的方式返回请求体内容;可以通过HttpRequest.POST获取处理后的key和value,也可以通过HttpRequest.read()格式化 HttpRequest.path 返回请求的完整路径,不包括协议和域名 HttpRequest.GET GET请求参数,返回一个queryDict对象 HttpRequest.POST 获取表单提交的数据,如果是通过POST请求提交的其它非表单数据,可以使用HttpRequest.Body获取;使用时可以通过if request.method == "PSOT"来进行预判断 HttpRequest.method 返回请求方式 HttpRequest.environ 返回一个字典,包含所有django运行的环境信息 HttpRequest.content_type 文件格式 HttpRequest.content_params 参数 HttpRequest.COOKIES 返回一个字典,包含浏览器存储的所有cookie HttpRequest.FILES 返回一个MultiValueDict,包含上传的文件 HttpRequest.META 返回一个包含所有请求相关信息的字典(包含Headers),同environ HttpRequest.resolver_match 返回请求处理的url及相关参数 HttpRequest.session 中间件,设置session,一个可读可写的字典对象 HttpRequest.get_host() 获取请求的主机和端口 HttpRequest.get_port() 获取端口 HttpRequest.get_full_path() 返回完整路径,同path HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 获取以一个cookie HttpRequest.is_ajax() 判断是否为ajax请求 HttpRequest.is_secure() 判断是否为https请求

2. HttpResponse类

  HttpResponse类用于设置响应头和响应内容,它分为实例化对象、填充设置以及返回三个部分

from django.http import HttpResponse

# 实例化一:
responseOne = HttpResponse("this is a http response")
# 实例化二: responseTwo
= HttpResponse() responseTwo.write("this is another http response") responseTwo.writelines(["this is second line", "this is third line"])
# 设置响应头 responseOne[
"Age"] = 20 responseOne["app"] = "sample" del responseOne["app"] # 设置响应头 responseOne["content_type"] = 'application/vnd.ms-excel' responseOne['Content-Disposition'] = 'attachment; filename="foo.xls"' responseOne.set_cookie("date", "2018-08-21", path="/page", ) # 设置cookie responseOne.delete_cookie("date") # 删除cookie
# 有关对象 print(responseOne) # HttpResponse print(responseOne.items()) # dict_values print(responseOne.cookies) # cookie print(responseOne.content) # 内容(字节) print(responseOne.charset) # 编码 print(responseOne.status_code) # 状态码 print(responseOne.streaming) # 是否为流 print(responseOne.closed) # 是否已发送response print(responseOne.serialize()) # 序列化响应头和相应内容 print(responseOne.serialize_headers()) # 序列化响应头 print(responseOne.
get("Age")) # 获取响应头中的某个键值对 print(responseTwo.getvalue()) # 获取相应的内容 # 将response设置为流数据处理 responseTwo.readable() responseTwo.seekable() responseTwo.write("...")

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/120065.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 浏览器问题

    android 浏览器问题android浏览器怎么解决网页美观问题 android浏览器怎么解决网页美观问题 android浏览器怎么解决网页美观问题要求自适应屏幕大小图片分辨率等问题!!!

    2022年5月14日
    37
  • 微信小程序–电池容量、电池剩余电量样式

    微信小程序–电池容量、电池剩余电量样式效果如图所示:竖列的我用的旋转横列90度实现的wxml:<viewclass=”complex”><viewdata-charge=’0’class=”battery”></view><viewdata-charge=’1’class=”battery”></view><viewdata-charge=’2’class=”battery”></view&gt…

    2022年8月18日
    3
  • ipfs矿机挖的是什么币(ipfs矿机19年一天收益)

    本文作者:火雷神算,如遇文章内容问题,请立即联系本人删除。感谢您的支持!很多人说,现在的FIL币价如此之低,还需要挖矿吗?火雷神算无法否认,ipf的价值在真正实现之前还有很长的路要走,但是对于ipfs,它只是缺少一个应用程序接口。随着FIL挖矿技术的发展,ipfs将在未来的网络应用道路上走得更快更远!虽然fil的价值下降现在影响到人们对fil矿挖矿预期收益的担忧,但对于那些长期看涨该矿的人来说,这是一个好时机,因为挖矿的成本和门槛也降低了。随着Filecoin网络的不断创新发展、稳..

    2022年4月14日
    59
  • Mysql实现同时交换两个表的表名

    Mysql实现同时交换两个表的表名转载自不服输的南瓜的Mysql实现同时交换两个表的表名表重命名有两种方式,所以交换两表名也有两种方式:方法一:locktablest1write,t2write;altertablet1renametot3;altertablet2renametot1;altertablet3renametot2;unlocktables;方法二:renametablet1tot3,t2tot1,t2tot3;…

    2022年5月11日
    37
  • 第十一届GPCT杯大学生程序设计大赛完美闭幕

    第十一届GPCT杯大学生程序设计大赛完美闭幕

    2021年12月3日
    57
  • 双机热备方案及双机热备软件选择

    1什么是双机热备方案企事业机构的信息化建设已经在随着社会建设的不断推进而改进和创新。众企事业机构的决策层也愈发重视企事业机构的信息化,不同程度的运营和发展着自身的业务信息系统。但是日趋普遍的业务信息系统在为企事业机构带来利益的同时,也存在着一个不容忽视的隐患——越来越多的业务依赖于业务信息系统。如果运行着关键业务信息系统的服务器发生宕机或是因为不可控的原因而停止,从而导致整个企事业机构的信息…

    2022年4月8日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号