立即学习:https://edu.csdn.net/course/play/25568/305943?utm_source=blogtoedu

Request和Response是客户端与服务器沟通的桥梁,客户端向服务器发送服务请求,服务器返回Response处理后的对象.

Django中把Request对象封装了一个类对象,HttpRequest

Reqeust对象

关键字

说明

method

返回请求的方式(GET|POST)

path

返回页面的路径(不包括域名)

META

封装请求头的数据

(字典类型,key大写,下划线连接)

REMOTE_ADDR 客户端的IP地址

CONTENT_TYPE 请求正文的MIME类型

-text/html HTML

-text/plain 普通文本

-application/json Json

GET

封装GET请求数据的QueryDict对象

POST

封装POST请求数据的QueryDict对象

FILES

封装上传文件数据

COOKIES

封装请求的cookies,类似字典的对象

session

可以读写的类似字典的对象

  1. index_handler(request)函数,request是请求默认函数,将quest封装到了HttpRequest中

  2. 服务器可以通过request获得客户端像服务器发送的全部数据

  3. 数据可以通过列表左侧关键字获取

  4. 得到请求的方式request.method得到请求方式,常用的有GET和POST

  5. GET 如果客户端向服务器发送了一条数据,这条数据包括的username='name1'GET请求会把该数据放到URL中,网址中就会看到该数据,

  6. POST请求会把数据封装在header中,并以加密的方式进行保存.所以在浏览器中,URL是按不到username=name1这样的数据的.POST请求相比GET更安全.对于敏感数据都会使用POST.,得到请求方式就是method,返回值是大写GET|POST

  7. path 返回当前页面的路径,不包括域名,如目前服务器的路径是blog.edu.net(域名),如后面有/user,如果通过request.path,返回的就是user不会包括前面的域名,

  8. META参数都封装哪些参数,可以通过直接打印查看.Json类似前端的一种字典{key:value},在python中成为字典,在前端中称为json,python字段和json不同点:1.在python中如果字典对应的值为空,可以以NONE显示,在json中不用NONE表示,用NULL.2.在python中表示真假用True Fales,在json中真假都是小写,true,false.

print(request.META)# 得到的字段就是所有请求头的数据

print(request.META)并不是很直观,可以通过for in进行遍历key

for key in request.META.keys():

print('%s=%s' % (key,request.META[key]))# 打印key等于value

  1. request.get可以得到GET请求发到服务器的所有数据.

  2. request.post可以得到post请求的所有数据.,get和.post得到的数据保存在QueryDict对象中,可以通过GET.get或GET.getlist方式获取.

  3. FILES,如果客户端像服务器发送的是文件,可以通过request.files获取客户端发过来的所有文件.

  4. cookies,保存在客户端中,常见功能,浏览器自动登录,cookie中带有用户名和密码,以及在自动登录功能上过期的时间,服务器接可以接收到用户名密码,对请求进行处理,完成登录操作.

  5. session保存在服务端中,用于保存敏感信息,根据cookie上传的值进行获取

HTTPResponse对象.

状态码是服务器告知客户端请求的结果

如用户要访问的路径是urls中没有的,则返回404异常

F12返回状态码:

JsonResponse对象

1. 首先在views中导入包

2. 在视图参数中传入JsonResponse,传入的参数类型是字典. JsonResponse会把字典对象转成json对象,Jsonresponse是对Httpresponse的一种封装.

以下代码可以理解成Httpresponse,content = "要返回的对象",content_type类型是application/json,json对象

当字典中出现中文,需要加入json_dumps_params = {"ensure_ascii":False}

重定向

def redirect_hanlder(request):

return redirect("/user") 相当于在浏览器中输入了hsot/user,,path就是/user,与域名相互拼接的url地址

可以与reverse配合重定向,先通过user:index定义首页,在通过redirect跳转到设置的重定向user页

def redirect_handler(request):

return redirect(reverse('user:index')) #重定向到user:index 通过reverse得到路有映射

path ('redirect',views.redirect_handler) # 在项目user/url中加入重定向handler和redirecthanlder的path

通过如此使用,用户访问的路径将会强制调转到服务器配置的固定页面

学习笔记(24):第一章: 路由与模板-Request对象与Response对象相关推荐

  1. 学习笔记-应用光学 第一章 几何光学的基本定律

    学习笔记-应用光学 第一章 几何光学的基本定律 1-1 发光点.波面.光线和光束 发光点:本身发光或被照明后发光的几何点 波面:发光点在某一时刻发出的光形成波面 (在各向同性均匀介质中波面是球形) 光 ...

  2. PMBOK(第六版) 学习笔记 ——《第一章 引论》

    系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...

  3. 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符

    Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...

  4. Java 学习笔记:第一章 Java入门

    Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...

  5. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  6. 【Go Web学习笔记】第一章 搭建Web服务器

    前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...

  7. Brocade NOS学习笔记(第一章——第三章)

    第一章 Introduction to Network OS and Brocade VCS Fabric Technology *********************************** ...

  8. 【操作系统】Oranges学习笔记(一) 第一章、第二章

    文章目录 零.Oranges相关资源 一.工作环境和准备工作 二.第一章 马上动手写一个最小的"操作系统" 1. 第一章笔记 2. nasm学习 3. 实际操作 三.第二章 搭建你 ...

  9. 【电机学习笔记】第一章 了解交流电机的结构以及工作原理

    系列文章目录 第一章  了解交流电机的结构以及工作原理 文章目录 系列文章目录 文章目录 前言 一.交流电机的构成 二.同步与异步的区别 三. 交流电机的运动原理 前言         由于交流电力系 ...

最新文章

  1. Django CVE-2019-14234
  2. java 单例设计_Java 之单例设计模式
  3. 引入用于 Azure IoT Edge 的 Visual Studio 工具
  4. 教你一招快速打开idea的秘诀
  5. arcgis镜像图形工具,ArcGis图形编辑
  6. 罗永浩出任“鲨纹科技”首席忽悠官;华为生产不含美国芯片的手机;PyCharm 2019.3 发布 | 极客头条...
  7. python数据可视化第三方库有哪些_数据可视化!看看程序员大佬都推荐的几大Python库...
  8. 使用VBSCRIPT安装字体
  9. 税务会计实务【14】
  10. 国内源代码安全漏洞检测工具现状浅析
  11. 【软件工程】软工视频总结
  12. MYSQL的开题报告题目,开题报告的选题意义.docx
  13. 双11商超大促,竞争白热化,智慧供应链成品牌最大助力!
  14. 将OpenCV抓拍的图片进行x264编码并保存到文件
  15. Java-dao模式
  16. 推荐系统实战 --- 基于音乐播放推荐
  17. ASCII码对照表:
  18. excel表格怎么调整行高和列宽_wps表格课程08|调整行高列宽
  19. 给vmware7虚拟机xp整理磁盘碎片
  20. 应急响应 - Windows启动项分析,Windows计划任务分析,Windows服务分析

热门文章

  1. 重磅爆料:APEX手游今日开测,小众游戏能否打开国内吃鸡手游市场?
  2. 如何删除在微软注册的组织
  3. C++ binary_function与unary_function使用详解
  4. [转]Windows鼠标右键菜单编辑
  5. 还为蚊虫、中暑、湿气烦恼吗?教你6个夏季养生小知识
  6. 华为服务器如何修改cpu型号,服务器cpu型号 数字
  7. 最强神作!Crysis深度剖析与优化指南(18-25)
  8. hystrix dashboard的使用
  9. 数字图像处理三 | 二值形态学操作(Distance Transform, 骨架提取,Conditional Dilation)的原理及Python实现
  10. IAR for MSP430的安装