1、HttpResquest对象概述
当浏览器向服务器请求页面时,Django会自动创建一个
HttpRequest
对象,该对象中包含了请求的元数据。这个对象将作为视图函数的第一个参数(一般命名为request)。视图函数的基本结构如下:
def view_function_name(request):
request.属性
request.方法()
2、HttpResquest对象属性
HttpRequest.method,用于获取
HTTP
请求的类型,返回值为大写字母,如
GET
或
POST
HttpRequest.GET ,
将返回所有
URL
地址栏参数(GET请求方式)形成的对象,该对象类似于字典对象
--
QueryDict
。
HttpRequest.POST,将返回表单以
POST
方式提交所有数据组成的对象,该对象类似于字典对象
--
QueryDict
。
HttpRequest.COOKIES,返回所有的
cookies
信息
HttpRequest.FILES ,
获取所有经过
HTTP POST
上传文件的信息
重要提示:
在通过表单实现文件上传时,表单必须注意以下事项:
- 表单只能通过POST提交
- 必须设置表单的enctype="multipart/form-data"属性
表单形如:
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="avatar">
...
</form>
HttpRequest.session ,
返回所有的会话
(
session
)
信息
HttpRequest.body,原始的 HTTP 请求体作为一个字节字符串。这对于以不同方式处理非常规 HTML 表单的数据很有用:二进制图像,XML 有效负载等。对于处理传统的表单数据,还是使用HttpReque.POST。
3、HttpResquest对象方法
HttpRequest.get_host()
用于获取主机信息
HttpRequest.get_port()
用于获取主机的端口号
HttpRequest.get_full_path()
用于获取路径,包含有查询关键字
4、QueryDict对象
QueryDict对象是HttpRequset.GET和HttpRequest.POST的返回值类型。
4.1、get()
get()方法用于返回指定键的值,语法结构为:
QueryDict
.
get
(
key
)
4.2、getlist()
getlist()
方法用于返回指定值的值所组成的列表,其语法结构是:
QueryDict
.
getlist
(
key
)
4.3、itmes()
itmes()
将返回由键名和键值组成的列表,语法结构是:
QueryDict
.
items
()
4.4、values()
values()
将近回由键值组成的列表,语法结构是:
QueryDict
.values
()