Django请求和响应

本文概述

  • Django的HttpRequest
  • Django HttpRequest属性
  • Django HttpRequest方法
  • Django HttpRequest示例
  • Django的HttpResponse
  • Django HttpResponse属性
  • Django HttpResponse方法
客户端-服务器体系结构包括两个主要组件:请求和响应。 Django框架使用客户端-服务器架构来实现Web应用程序。
当客户端请求资源时, 将创建一个HttpRequest对象, 并调用对应的视图函数以返回HttpResponse对象。
为了处理请求和响应, Django提供了HttpRequest和HttpResponse类。每个类都有它自己的属性和方法。
让我们看一下HttpRequest类。
Django的HttpRequest 此类在django.http模块中定义, 用于处理客户端请求。以下是此类的属性。
Django HttpRequest属性
属性 描述
HttpRequest.scheme 表示请求方案的字符串(通常为HTTP或HTTP)。
HttpRequest.body 它以字节字符串形式返回原始HTTP请求正文。
HttpRequest.path 它返回到不包含方案或域的请求页面的完整路径。
HttpRequest.path_info 它显示路径的路径信息部分。
HttpRequest.method 它显示了请求中使用的HTTP方法。
HttpRequest.encoding 它显示了用于解码表单提交数据的当前编码。
HttpRequest.content_type 它显示了从CONTENT_TYPE标头解析的请求的MIME类型。
HttpRequest.content_params 它返回包含在CONTENT_TYPE标头中的键/值参数的字典。
HttpRequest.GET 它返回一个包含所有给定HTTP GET参数的类似字典的对象。
HttpRequest.POST 它是一个类似于字典的对象, 包含所有给定的HTTP POST参数。
HttpRequest.COOKIES 它返回所有可用的cookie。
HttpRequest.FILES 它包含所有上载的文件。
HttpRequest.META 它显示了所有可用的Http标头。
HttpRequest.resolver_match 它包含一个代表解析的URL的ResolverMatch实例。
下表包含HttpRequest类的方法。
Django HttpRequest方法
属性 描述
HttpRequest.get_host() 它返回请求的原始主机。
HttpRequest.get_port() 它返回请求的原始端口。
HttpRequest.get_full_path() 它返回路径, 以及附加的查询字符串(如果适用)。
HttpRequest.build_absolute_uri(位置) 它返回位置的绝对URI形式。
HttpRequest.get_signed_cookie(键, 默认= RAISE_ERROR, salt =” , max_age = None) 它返回签名的cookie的cookie值, 或者如果签名不再有效, 则抛出django.core.signing.BadSignature异常。
HttpRequest.is_secure() 如果请求是安全的, 则返回True;否则返回True。也就是说, 如果它是使用HTTPS制作的。
HttpRequest.is_ajax() 如果请求是通过XMLHttpRequest发出的, 则返回True。
Django HttpRequest示例 // views.py
def methodinfo(request):return HttpResponse("Http request is: "+request.method)

// urls.py
path('info', views.methodinfo)

启动服务器并访问浏览器。它在浏览器中显示请求方法的名称。
【Django请求和响应】输出:
Django请求和响应 Django的HttpResponse 此类是django.http模块的一部分。它负责生成与请求相对应的响应并返回给客户端。
此类包含下面给出的各种属性和方法。
Django HttpResponse属性
属性 描述
HttpResponse.content 表示内容的字节串, 必要时从字符串编码。
HttpResponse.charset 它是一个字符串, 表示将在其中编码响应的字符集。
HttpResponse.status_code 它是响应的HTTP状态代码。
HttpResponse.reason_phrase 响应的HTTP原因短语。
HttpResponse.streaming 默认情况下为false。
HttpResponse.closed 如果响应已关闭, 则为True。
Django HttpResponse方法
方法 描述
HttpResponse .__ init __(content =” , content_type = None, status = 200, reason = None, charset = None) 它用于实例化具有给定页面内容和内容类型的HttpResponse对象。
HttpResponse .__ setitem __(标头, 值) 它用于将给定的标头名称设置为给定的值。
HttpResponse.__delitem__(header) 它删除具有给定名称的标头。
HttpResponse.__getitem__(header) 它返回给定标头名称的值。
HttpResponse.has_header(header) 它基于大小写不敏感的检查, 对具有提供的名称的标头返回True或False。
HttpResponse.setdefault(标题, 值) 用于设置默认标题。
HttpResponse.write(内容) 用于创建类似文件的对象的响应对象。
HttpResponse.flush() 它用于刷新响应对象。
HttpResponse.tell() 此方法使HttpResponse实例成为类似文件的对象。
HttpResponse.getvalue() 它用于获取HttpResponse.content的值。
HttpResponse.readable() 此方法用于创建HttpResponse类的类似于流的对象。
HttpResponse.seekable() 它用于使响应对象可搜索。
我们可以使用这些方法和属性来处理Django应用程序中的响应。

    推荐阅读