Django学习(二):Request对象、Response对象和Cookie、Session

本文深入探讨Django中的Request和Response对象,以及Cookie和Session的使用。Request对象包含HttpRequest的属性如scheme、body、GET、POST等,用于处理HTTP请求。HttpResponse对象用于构建响应,包含content、charset等属性。同时,文章介绍了Cookie和Session的工作原理,解释了Django如何通过Cookie和Session管理用户状态,并提供了操作Cookie和Session的方法。
摘要由CSDN通过智能技术生成

概述

Django 使用Request 对象和Response 对象在系统间传递状态。

当请求一个页面时,Django会建立一个包含请求元数据的 HttpRequest 对象。 当Django 加载对应的视图时,HttpRequest 对象将作为视图函数的第一个参数。 每个视图会返回一个HttpResponse 对象。

 

一:HttpRequest对象

属性

HttpRequest.scheme -->一个字符串,表示请求的方案(通常是http 或https)

HttpRequest.body -->一个字节字符串,表示原始HTTP 请求的正文。 它对于处理非HTML 形式的数据非常有用:二进制图像、XML等。 如果要处理常规的表单数据,应该使用HttpRequest.POST。

HttpRequest.path -->表示请求页面的完整路径的字符串,不包括方案或域

HttpRequest.path_info -->在某些Web 服务器配置下,主机名后的URL 部分被分成脚本前缀部分和路径信息部分。 path_info 属性将始终只包含路径信息部分,不论使用的Web 服务器是什么。 使用它代替path 可以让代码在测试和开发环境中更容易地切换。

HttpRequest.method -->一个字符串,表示请求使用的HTTP 方法。 必须使用大写
HttpRequest.encoding -->一个字符串,表示提交的数据的编码方式
HttpRequest.content_type -->表示从CONTENT_TYPE头解析的请求的MIME类型的字符串。

HttpRequest.content_params -->包含在CONTENT_TYPE标题中的键/值对形式字典参数。

HttpRequest.GET -->一个类似于字典的对象(QueryDict对象),包含HTTP GET 的所有参数

HttpRequest.POST -->一个包含所有给定的HTTP POST参数的类字典对象,提供了包含表单数据的请求;POST 不包含文件上传信息

HttpRequest.FILES -->一个类似于字典的对象,包含所有上传的文件。 FILES中的每个键为<input type="file" name="" />中的name。 FILES中的每个值是一个UploadedFile对象。

注:上传文件时,<form>需要设置属性enctype="multipart/form-data"

HttpRequest.COOKIES -->包含所有Cookie的字典。 键和值都为字符串

HttpRequest.META -->包含所有可用HTTP标头的字典。 具体的头部信息取决于客户端和服务器

CONTENT_LENGTH —— 请求的正文的长度(是一个字符串)。
CONTENT_TYPE —— 请求的正文的MIME 类型。
HTTP_ACCEPT —— 响应可接收的Content-Type。
HTTP_ACCEPT_ENCODING —— 响应可接收的编码。
HTTP_ACCEPT_LANGUAGE —— 响应可接收的语言。
HTTP_HOST —— 客服端发送的HTTP Host 头部。
HTTP_REFERER —— Referring 页面。
HTTP_USER_AGENT —— 客户端的user-agent 字符串。
QUERY_STRING —— 单个字符串形式的查询字符串(未解析过的形式)。
REMOTE_ADDR —— 客户端的IP 地址。
REMOTE_HOST —— 客户端的主机名。
REMOTE_USER —— 服务器认证后的用户。
REQUEST_METHOD —— 一个字符串,例如"GET" 或"POST"。
SERVER_NAME —— 服务器的主机名。
SERVER_PORT —— 服务器的端口(是一个字符串)。

由应用程序代码设置的属性:

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值