首页
学习
活动
专区
圈层
工具
发布

Django基础篇-请求

  • HttpRequest 对象
  • HttpResponse 对象

① HttpRequest 对象

服务器接收到 http 协议的请求后,会根据 报文 创建 HttpRequest 对象视图函数的第一个参数是 HttpRequest 对象在 django.http 模块中定义了 HttpRequest 对象的 API。

属性及方法:

  • 属性:
  1. path:一个字符串,表示请求的页面的完整的路径,不包含域名。
  2. method:一个字符串,表示请求使用的 HTTP 方法,常用值包括:‘GET’、‘POST’。
  3. encoding:一个字符串,表示提交的数据的编码方式;如果为 None,则表示使用浏览器的默认设置,一般为 utf-8,这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的 encoding 值。
  4. GET:一个类似于字典的对象,包含 get 请求方式的所有参数。
  5. POST:一个类似于字典的对象,包含 post 请求方式的所有参数。
  6. FILES:一个类似于字典的对象,包含所有的上传文件。
  7. COOKIES:一个标准的 Python 字典,包含所有的 cookie,键和值都为字符串。
  8. session:一个既可读又可写的类似于字典的对象,表示当前的会话,只有当 Django 启用会话支持时才可用。
  • 方法:
  1. is_ajax():如果请求是通过 XMLHttpRequest 发起的,则返回 True。

QueryDict 对象

request 对象的属性 GET、POST 都是 QueryDict 类型的对象。

与 python 字典不同,QueryDict 类型的对象用来处理同一个键带有多个值的情况。

  • 方法 get():很据键获取值

只能获取键的一个值

如果一个键同时拥有多个值,获取最后一个值

  • 方法 getlist():根据键获取值

将键的值以列表返回,可以获取一个键的多个值。

  • GET 属性
  • QueryDict 类型的对象;
  • 包含 get 请求方式的所有参数;
  • 与 url 请求地址中的参数对应,位于 ? 后面;
  • 参数的格式是键值对,如 key1=value1;
  • 多个参数之间,使用 & 连接,如 key1=value1&key2=value2。
  • POST 属性
  • QueryDict 类型的对象;
  • 包含 post 请求方式的所有参数;
  • 与 form 表单中的控件对应;
  • 表单中控件要有 name 属性,则 name 属性的值为键,value 属性的值为键,构成键值对提交;
  • 对于 checkbox 控件,name 属性一样为一组,当控件被选中后会被提交,存在一键多值的情况。
下一篇
举报
领券