专栏首页数据云团Django基础篇-请求

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 属性一样为一组,当控件被选中后会被提交,存在一键多值的情况。

本文分享自微信公众号 - 数据云团(SmartData),作者:云团小楠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-01-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Django源码学习-19-HttpRequest

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(...

    小团子
  • Django源码学习-20-QueryDict

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(...

    小团子
  • Django源码学习-8-ListView&DetailView通用视图

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(...

    小团子
  • c#面向对象基础

    面向过程:面向完成这件事的过程,强调的是完成这件事的动作(针对每个人量身定做的动作)。

    wfaceboss
  • 图说Java —— 理解Java机制最受欢迎的8幅图

    下面的8幅图来自于 Program Creek 的 Java教程 ,目前这是该网站最受欢迎的文章. 希望本文能帮你回顾你已经知道的那些知识。如果图片讲解的不够清...

    Java团长
  • js行内式遇到的一些问题 DOM对象和jq对象转换的问题

    这两天给后台页面做页面,我的工作比较简单,只需要写结构和样式就行了,写好之后,后端大哥用ajax重写页面加载数据,顺便给标签添加选中事件,做选中后变色的处理,但...

    吴裕超
  • iOS面试题梳理(二)

    Jacklin
  • 空对象和空的对象

    空对象:表面内部不包含任何属性和方法的对象,比如var obj={}就是一个空对象

    十月梦想
  • 关于对象池的一些分析

    在日常的开发工作中,我们可能使用或者听说过对象池,线程池以及连接池。本文将介绍对象池的产生缘由,具体实现细节,以及需要注意的问题。

    技术小黑屋
  • 《Objective C编程》笔记

    1.为什么main()总是返回0?可以将main()的返回结果视为“粗欧文报告”,这样0就是好消息,没有错误就是成功。 2.消息:消息发送(指令)必须写在一对...

    nimomeng

扫码关注云+社区

领取腾讯云代金券