您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python Django请求和响应对象详解

51自学网 2022-02-21 10:49:58
  python
这篇教程Python Django请求和响应对象详解写得很实用,希望能帮到您。

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 = 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 中的每个键是<input type="file" name=""> 中的 name。FILES 中的每个值是一个 UploadedFile。

FILES 只有在请求方法是 POST,并且发布请求的<form>有 enctype=“multipart/form-data” 的情况下,才会包含数据。否则,FILES 将是一个类似字典的空白对象。

7.HttpRequest.META

一个包含所有可用的 HTTP 头文件的字典。可用的头信息取决于客户端和服务器。一些可能的例子如下:

1.CONTENT_LENGTH
Python面向对象编程之类的封装
python 中 os.walk() 函数详解

万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。