这篇教程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() 函数详解 |