企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 常用属性 | 属性 | 描述 | | --- | --- | | path | 请求页面的全路径,不包括域名端口参数 | | method | HTTP方法 | | user | 已登录:AbstractUser对象;未登录:AnonymousUser对象;判断是否已经登录:`request.user.is_authenticated()`,返回true表示已经登录 | | body | 获取原始的请求体数据,获取到的数据为**bytes类型** | | META | python 字典类型,封装了请求头headers中的数据, 例如 REMOTE_ADDR – 客户端的IP地址,REQUEST_METHOD — 一个字符串,例如"GET" 或"POST,CONTENT_TYPE – 请求的正文的MIME 类型 | | COOKIES | 一个标准的`python`字典,包含所有的`cookies`, 键和值都是字符串 | | session | 可读可写的类似字典的对象:`django.contrib.sessions.backends.db.SessionStore`。 `Django`提供了`session`模块,默认就会开启用来保存`session`数据 | ### QueryDict对象 * 所在的包:`django.http.QueryDict` * `HttpRequest`对象中的`GET`和`POST`属性 都是`QueryDict`类型 * 与python字典不同:**QueryDict对象一个键可以保存多个值** * `get()`方法 * 根据键获取值 * 如果一个键同时拥有多个值,将获取最后一个值 * 如果键不存在则返回None值,可以设置返回自定义的默认值 ~~~ dict.get('键',默认值) ~~~ * `getlist()`方法 * 根据键获取多个值,值以列表返回 * 如果键不存在则返回空列表\[\] ~~~ dict.getlist('键',默认值) ~~~ ### 使用 获取表单数据 ~~~ category = request.GET.get('category') page = request.GET.get('page') ~~~ 获取非表单数据 ~~~ json_str = request.body ~~~ 获取请求头数据 ~~~ print(request.META.get('HTTP_A'), request.META.get('HTTP_B')) ~~~