Python|Python Django请求和响应对象详解
目录
- Django请求和响应对象
- HttpRequest对象
- HttpRequest常用属性
- 中间件设置的属性
- QueryDict对象
- QueryDict方法
- HttpResponse对象
- HttpResponse对象用法
- HttpResponse对象属性
- HttpResponse对象方法
- HttpResponse子类
- JsonResponse对象
- 总结
Django请求和响应对象 Django 使用请求和响应对象在系统中传递状态。
当一个页面被请求时,Django 会创建一个 HttpRequest 对象,这个对象包含了请求的元数据。然后,Django 加载相应的视图,将 HttpRequest 作为视图函数的第一个参数。每个视图负责返回一个 HttpResponse 对象。
HttpRequest对象
下面介绍HttpRequest对象常用的属性和方法。
HttpRequest常用属性 1.HttpRequest.body
原始的 HTTP 请求体作为一个字节字符串。这对于以不同方式处理非常规 HTML 表单的数据很有用:二进制图像,XML 有效负载等。对于处理传统的表单数据,使用 HttpRequest.POST
2.HttpRequest.method
代表请求中使用的 HTTP 方法的字符串,一定是大写字母。
3.HttpRequest.GET
一个类似字典的对象,包含所有给定的 HTTP GET 参数。
4.HttpRequest.POST
一个类似字典的对象,包含所有给定的 HTTP POST 参数,前提是请求包含表单数据。如果你需要访问请求中发布的原始或非表单数据,可以通过 HttpRequest.body 属性来访问。
以上的4个属性是我们最常用的HttpRequest属性。结合实际,我们可能写出的代码如下:
if request.method == "POST":# POST请求方法try:data = https://www.it610.com/article/json.loads(request.body)# 获取POST请求携带的非表单数据(JSON数据)except json.JSONDecodeError:return JsonResponse({"status": "1", "msg": "数据格式错误"})# 表单数据# keys = request.POST.get("keys")# 如果POST携带的是表单数据,可以这样获取。elif request.method == "GET":keys = request.GET.get("keys")# 获取get请求携带的参数return JsonResponse({"status": "0", "msg": "请求成功"})else:return JsonResponse({"status": "0", "msg": "请求方法错误"})
5.HttpRequest.COOKIES
一个包含所有 cookies 的字典。键和值是字符串。
6.HttpRequest.FILES
一个类似字典的对象,包含所有上传的文件。FILES 中的每个键是 中的 name。FILES 中的每个值是一个 UploadedFile。
FILES 只有在请求方法是 POST,并且发布请求的