django系列3.4-- request对象和response对象(未完待续)
一.request对象
详细信息可以查阅django官方文档
共有五种请求相关的常用值
request.path_info 返回用户访问的url不包括域名
request.method 请求中使用的HTTP方法的字符串表示,全大写
request.GET 包含所有HTTP GET参数的类字典对象(request.GET.dict())
request.POST 包含所有HTTP POST参数的类字典对(request.POST.dict())
request.body 整个请求体, byte类型 request.POST的数据就是从body里面提取到的
request.scheme
表示请求方案(http或https 通常)的字符串。
request.body
原始http请求体, 也可以使用类似的方法 request.read()
request.path_info
url的路径信息部分
request.method
请求中使用的http请求方法
if request.method == 'GET':
pass
elif request.method == 'POST':
pass
request.encoding
当前表单提交数据的编码,可以写入这个属性更改访问表单数据时使用的编码,任何后续属性访问都将使用这个编码
request.content_type
标识请求的MIME类型的字符串,从CONTENT_TYPE标头解析
request.content_params
content_type标题中包含的键/值参数字典
request.GET
一个包含http get请求参数的字典对象
request.POST
包含http post请求参数的字典
request.COOKIES
一个包含所有cookie信息的字典, key,value都是字符串类型
request.FILES
一个包含所有上传文件的类似字典的对象, 每一个key都是
<input type='file' name=“”>标签中的name,每个value都是一个上传的文件,只有当请求方法为POST且向请求发送的<form>具有enctype="multipart/form-data"时,文件才会包含数据。否则,文件将是一个类似于字典的空白对象。request.META
一个包含所有http请求投的字典
CONTENT_LENGTH – 请求体长度(string).
CONTENT_TYPE – The MIME type of the request body.
HTTP_ACCEPT – Acceptable content types for the response.
HTTP_ACCEPT_ENCODING – Acceptable encodings for the response.
HTTP_ACCEPT_LANGUAGE – Acceptable languages for the response.
HTTP_HOST – The HTTP Host header sent by the client.
HTTP_REFERER – The referring page, if any.
HTTP_USER_AGENT – The client’s user-agent string.
QUERY_STRING – The query string, as a single (unparsed) string.
REMOTE_ADDR – The IP address of the client.
REMOTE_HOST – The hostname of the client.
REMOTE_USER – The user authenticated by the Web server, if any.
REQUEST_METHOD – A string such as "GET" or "POST".
SERVER_NAME – The hostname of the server.
SERVER_PORT – The port of the server (as a string).
django本身没有设置但可以设置的属性
request.current_app # 模板语言中将使用其值作为current_app参数来reverse()。
request.urlconf # 用作当前请求的根URLconf,覆盖ROOT_URLCONF设置
通过中间件设置的属性
request.session # SessionMiddleware
request.site # CurrentSiteMiddleware
request.user # AuthenticationMiddleware
二.response对象
引入方式
from django.http import HttpResponse
使用
1.传递字符串
response = HttpResponse("OK!")
response = HttpResponse("OK!", content_type="text/plain")
2.设置或删除响应头信息
response = HttpResponse()
response["Content-Type"] = "text/html"; charset='UTF-8'
3.属性
HttpResponse.content:响应内容
HttpResponse.charset:响应内容的编码
HttpResponse.status_code:响应的状态码
django系列3.4-- request对象和response对象(未完待续)的更多相关文章
- django HTTP请求(Request)和回应(Response)对象
Django使用request和response对象在系统间传递状态.—(阿伦)当一个页面被请示时,Django创建一个包含请求元数据的 HttpRequest 对象. 然后Django调入合适的视图 ...
- request对象和response对象,什么时候用,具体用哪一个,没有感觉
request对象和response对象,什么时候用,具体用哪一个,没有感觉
- JAVA-JSP内置对象之response对象
相关资料:<21天学通Java Web开发> response对象1.response对象用来给客户端传送输出信息. 方法 ...
- ASP.NET MVC 系列随笔汇总[未完待续……]
ASP.NET MVC 系列随笔汇总[未完待续……] 为了方便大家浏览所以整理一下,有的系列篇幅中不是很全面以后会慢慢的补全的. 学前篇之: ASP.NET MVC学前篇之扩展方法.链式编程 ASP. ...
- Request对象和Response对象 JsonResponse对象 和 Django shortcut functions 和QueryDict对象
request request属性 属性: django将请求报文中的请求行.头部信息.内容主体封装成 HttpRequest 类中的属性. 除了特殊说明的之外,其他均为只读的. ''' 0.Http ...
- django的request对象和response对象
概述Django 使用 request 和 response 对象表示系统状态数据..当请求一个页面时,Django创建一个 HttpRequest 对象.该对象包含 request 的元数据. 然后 ...
- django基础2: 路由配置系统,URLconf的正则字符串参数,命名空间模式,View(视图),Request对象,Response对象,JsonResponse对象,Template模板系统
Django基础二 request request这个参数1. 封装了所有跟请求相关的数据,是一个对象 2. 目前我们学过1. request.method GET,POST ...2. reques ...
- python 之 Django框架(Django框架简介、视图装饰器、request对象、Response对象)
12.33 Django框架简介: MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器( ...
- Django视图函数之request请求与response响应对象
官方文档: https://docs.djangoproject.com/en/1.11/ref/request-response/ 视图中的request请求对象: 当请求页面时,Django创建一 ...
随机推荐
- 迷你MVVM框架 avalonjs 学习教程3、绑定属性与扫描机制
在MVVM框架中,你都会看到页面定了许多奇怪的属性,比如knockout的data-☆,angular的ng-☆,avalon的ms-☆,此外还有一些只写文本节点上的双花括号,它们统称为指令.ms-☆ ...
- CLR如何控制类型中的字段排序
[StructLayout(LayoutKind.Sequential) ]保持字段布局 [StructLayout(LayoutKind.Auto) ]CLR自动选择最优 [StructLayout ...
- Excel VBA入门(九)操作工作薄
虽然我前面讲过,在VBA中操作工作薄并不是件明智的事,但有些时候,还是避免不了要这么做.绝大多数情况下,我们要做的是获取到某个工作薄对象,并以此来获得其中的工作表对象,然后再对工作表中的数据进行处理. ...
- was not registered for synchronization because synchronization is not active
报SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7862f70e] was not registered for s ...
- c语言define和typedef区别和使用
define完全可以理解替换,typedef代表别名.听着差不多的意思,那2者区别在哪? 先来个简单例子查看基本使用. //define和typedef区别 #define DB double //替 ...
- Halcon选择一堆region中面积第N大的region的算法实现
以下图为例: 比如我想把面积第2小的那个“小正方形”选择出来,算法代码如下: read_image (Yuan, 'C:/Users/happy xia/Desktop/yuan.png') bina ...
- Python爬虫进阶四之PySpider的用法
审时度势 PySpider 是一个我个人认为非常方便并且功能强大的爬虫框架,支持多线程爬取.JS动态解析,提供了可操作界面.出错重试.定时爬取等等的功能,使用非常人性化. 本篇内容通过跟我做一个好玩的 ...
- 马婕 2014MBA专硕考试 报刊选读 7 美国的欧洲时刻(转)
http://blog.sina.com.cn/s/blog_3e66af46010170ma.html America's European moment美国的欧洲时刻 The troubling ...
- join sql图
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name id name id name -- - ...
- CentOS 6.0下phpvod搭建教程(LAMP+phpvod)
之所以安装CentOS是因为之前试过RedHat,但是发现RedHat在安装时,无法获取安装源,原因是RedHat系统没有在RHN注册. 网上的很多教程都说可以直接换用CentOS的源,可我小搞里一会 ...