学习笔记(24):第一章: 路由与模板-Request对象与Response对象
立即学习: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
可以读写的类似字典的对象
index_handler(request)函数,request是请求默认函数,将quest封装到了HttpRequest中
服务器可以通过request获得客户端像服务器发送的全部数据
数据可以通过列表左侧关键字获取
得到请求的方式request.method得到请求方式,常用的有GET和POST
GET 如果客户端向服务器发送了一条数据,这条数据包括的username='name1'GET请求会把该数据放到URL中,网址中就会看到该数据,
POST请求会把数据封装在header中,并以加密的方式进行保存.所以在浏览器中,URL是按不到username=name1这样的数据的.POST请求相比GET更安全.对于敏感数据都会使用POST.,得到请求方式就是method,返回值是大写GET|POST
path 返回当前页面的路径,不包括域名,如目前服务器的路径是blog.edu.net(域名),如后面有/user,如果通过request.path,返回的就是user不会包括前面的域名,
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
request.get可以得到GET请求发到服务器的所有数据.
request.post可以得到post请求的所有数据.,get和.post得到的数据保存在QueryDict对象中,可以通过GET.get或GET.getlist方式获取.
FILES,如果客户端像服务器发送的是文件,可以通过request.files获取客户端发过来的所有文件.
cookies,保存在客户端中,常见功能,浏览器自动登录,cookie中带有用户名和密码,以及在自动登录功能上过期的时间,服务器接可以接收到用户名密码,对请求进行处理,完成登录操作.
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 发光点.波面.光线和光束 发光点:本身发光或被照明后发光的几何点 波面:发光点在某一时刻发出的光形成波面 (在各向同性均匀介质中波面是球形) 光 ...
- PMBOK(第六版) 学习笔记 ——《第一章 引论》
系列文章目录 PMBOK(第六版) 学习笔记 --<第一章 引论> PMBOK(第六版) 学习笔记 --<第二章 项目运行环境> PMBOK(第六版) 学习笔记 --<第 ...
- 【Python学习笔记】第一章基础知识:格式化输出,转义字符,变量类型转换,算术运算符,运算符优先级和赋值运算符,逻辑运算符,世界杯案例题目,条件判断if语句,猜拳游戏与三目运算符
Python学习笔记之[第一章]基础知识 前言: 一.格式化输出 1.基本格式: 2.练习代码: 二.转义字符 1.基本格式: 2.练习代码: 3.输出结果: 三.输入 1.基本格式: 2.练习代码: ...
- Java 学习笔记:第一章 Java入门
Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...
- Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)
全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...
- 【Go Web学习笔记】第一章 搭建Web服务器
前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记.部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改.学习Go Web时应该 ...
- Brocade NOS学习笔记(第一章——第三章)
第一章 Introduction to Network OS and Brocade VCS Fabric Technology *********************************** ...
- 【操作系统】Oranges学习笔记(一) 第一章、第二章
文章目录 零.Oranges相关资源 一.工作环境和准备工作 二.第一章 马上动手写一个最小的"操作系统" 1. 第一章笔记 2. nasm学习 3. 实际操作 三.第二章 搭建你 ...
- 【电机学习笔记】第一章 了解交流电机的结构以及工作原理
系列文章目录 第一章 了解交流电机的结构以及工作原理 文章目录 系列文章目录 文章目录 前言 一.交流电机的构成 二.同步与异步的区别 三. 交流电机的运动原理 前言 由于交流电力系 ...
最新文章
- Django CVE-2019-14234
- java 单例设计_Java 之单例设计模式
- 引入用于 Azure IoT Edge 的 Visual Studio 工具
- 教你一招快速打开idea的秘诀
- arcgis镜像图形工具,ArcGis图形编辑
- 罗永浩出任“鲨纹科技”首席忽悠官;华为生产不含美国芯片的手机;PyCharm 2019.3 发布 | 极客头条...
- python数据可视化第三方库有哪些_数据可视化!看看程序员大佬都推荐的几大Python库...
- 使用VBSCRIPT安装字体
- 税务会计实务【14】
- 国内源代码安全漏洞检测工具现状浅析
- 【软件工程】软工视频总结
- MYSQL的开题报告题目,开题报告的选题意义.docx
- 双11商超大促,竞争白热化,智慧供应链成品牌最大助力!
- 将OpenCV抓拍的图片进行x264编码并保存到文件
- Java-dao模式
- 推荐系统实战 --- 基于音乐播放推荐
- ASCII码对照表:
- excel表格怎么调整行高和列宽_wps表格课程08|调整行高列宽
- 给vmware7虚拟机xp整理磁盘碎片
- 应急响应 - Windows启动项分析,Windows计划任务分析,Windows服务分析
热门文章
- 重磅爆料:APEX手游今日开测,小众游戏能否打开国内吃鸡手游市场?
- 如何删除在微软注册的组织
- C++ binary_function与unary_function使用详解
- [转]Windows鼠标右键菜单编辑
- 还为蚊虫、中暑、湿气烦恼吗?教你6个夏季养生小知识
- 华为服务器如何修改cpu型号,服务器cpu型号 数字
- 最强神作!Crysis深度剖析与优化指南(18-25)
- hystrix dashboard的使用
- 数字图像处理三 | 二值形态学操作(Distance Transform, 骨架提取,Conditional Dilation)的原理及Python实现
- IAR for MSP430的安装