定义
请求是指浏览器端通过HTTP协议发送给服务器端的数据
响应是指服务器端接收到请求后做相应的处理后再回复给浏览器端额数据
请求中的方法
根据HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP 1.0定义了三种请求方法:GET,POST和HEAD方法(最常用)
HTTP 1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。
django中的请求
请求在django中实则就是视图函数的第一个参数,即HttpRequest 对象
django接收到http协议的请求后,会根据请求数据报文创建HttpRequest 对象
HttpRequest 对象 通过属性 描述了请求的所有相关信息
属性和方法:
path_info:url字符串
method:字符串,表示HTTP方法,常用值:'GET','POST'
GET:QueryDict查询字典的对象,包含get请求方式的所有数据
POST:QueryDict查询字典的对象,包含post请求方式的所有数据
FILES:类似字典的对象,包含所有的上传文件信息
实操:
urls.py中
path('test_request',views.test_request)
views.py中
def test_request(request):
print('path info is:',request.path_info)
print('method is', request.method)
print('querystring is',request.GET)
return HttpResponse('test request ok')
终端输出:
path info is: /test_request
method is GET
querystring is <QueryDict: {'a': ['1'], 'b': ['2']}>
[06/Aug/2021 06:55:15] "GET /test_request?a=1&b=2 HTTP/1.1" 200 15
响应样例![](https://i-blog.csdnimg.cn/blog_migrate/5d3d8afafb2398382464a81d297d87df.png)
django中响应对象
构造函数格式:
HttpResponse(content=响应体,content-type=响应体数据类型,status=状态码)
作用:
向客户浏览器返回响应,同时携带响应体内容
常用的content-type如下:
-‘text/html'(默认的,html文件)
-’text/plain'(纯文本)
-‘text/css'(纯文件)
-’multipart/form-data'(文件提交)
-‘application/json'(json传输)
-’application/xml'(xml传输)
注:使用子类前要先进行导入