Django(part7)--请求及HttpRequest对象

网友投稿 255 2022-08-31


Django(part7)--请求及HttpRequest对象

学习笔记,仅供参考

请求

HTTP请求

根据HTTP标准,HTTP请求可以使用多种请求方法。HTTP1.0定义了三种请求方法:GET,POST和HEAD方法(最常用)HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。

HTTP1.1请求详述

请求

描述

GET

请求指定的页面信息,并返回实体主体

HEAD

类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。

数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

DELETE

请求服务器删除指定的页面。

CONNECT

HTTP1.1协议中预留给能够将连接改为管道方式的代理服务器。

OPTIONS

允许客户端查看服务器的性能。

TRACE

回显服务器收到的请求,主要用于测试或诊断。

PUT

从客户端向服务器传送的数据取代指定的文档的内容。

HttpRequest对象

当服务器接收到page_bunny(request, name, age): html = "Bunny's name is " + name + " and its age is " + age return HttpResponse(html)

HttpRequest属性

path:字符串,表示请求的路由信息method:字符串,表示HTTP请求方法,常用值:‘GET’,‘POST’encoding:字符串,表示提交的数据的编码方式GET: QueryDict查询字典的对象,包含get请求方式的所有数据POST: QueryDict查询字典的对象,包含post请求方式的所有数据FILES:类似于字典的对象,包含所有的上传文件COOKIES:Python字典,包含所有的cookie,键和值都为字符串session:似于字典的对象,表示当前的会话body:字符串,请求体的内容environ:字符串,客户端运行的环境变量信息scheme:请求协议(‘page_bunny(request, name, age): print("request.path = " + request.path) print("request.method = " + request.method) html = "Bunny's name is " + name + " and its age is " + age return HttpResponse(html)

并向/bunny/10/huang/ HTTP/1.1Host: 127.0.0.1:8000Connection: keep-aliveUpgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: noneSec-Fetch-Mode: navigateSec-Fetch-Dest: documentAccept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9

我们再看看cmd中的输出(cmd会显示视图函数中print方法要打印的内容):

request.path = /bunny/10/huang/request.method = GET

可以看见我们的路由为/bunny/10/huang/,请求方式为GET


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django(part8)--响应及HttpResponse对象
下一篇:Django(part6)--利用正则的组名进行关键字传参
相关文章

 发表评论

暂时没有评论,来抢沙发吧~