Django Web应用开发实战第四章
一、设置响应方式
网站的运行原理遵从HTTP协议,分为HTTP请求和HTTP响应。HTTP响应也称为状态码,分为5种状态:消息、成功、重定向、请求错误和服务器错误。若以使用频率划分,HTTP状态码分为:成功、重定向和异常响应(请求错误和服务器错误)。
二、HTTP请求对象
对于Django来说,当它接收到HTTP请求之后,会根据HTTP请求携带的请求参数以及请求信息来创建一个WSGIRequest对象,并且作为视图函数第一个参数,通常写成request,该参数包含用户所有的请求信息。
WSGIRequest常用类属性:
- COOKIE:获取客户端(浏览器)的Cookie信息,字典形式,键值对都是字符串
- FILES:django.http.request.QueryDict对象,包含所有文件上传信息
- GET:获取GET请求的请求参数,django.http.request.QueryDict对象,操作类似字典
- META:获取客户端(浏览器)的请求头信息,字典存储
- method:获取当前请求的请求方式(GET 或 POST)
- path:获取当前请求路由地址
- session:一个类似字典的对象,用于操作服务器的会话信息,可临时存放用户信息
- user:当Djamgo启用认证中间件时才可用,若用户登录,值是内置数据模型User的对象;若没有登录,user将设为django.contrib.auth.models.AnonymousUser的一个实例
HttpRequest常用类方法:
- is_secure():是否才有HTTP协议
- is_ajax():是否才有AJAX发送HTTP请求,判断原理是请求头中是否存在X-Requested-With:XMLHttpRequest
- get_post():获取服务器的域名,如果访问时候设有端口号,返回就会带上端口号
- get_full_path():返回路由地址,若带有参数,一并返回
- get_raw_uri():获取完整网址信息,域名、端口和路由地址一并返回
三、文件上传
- UploadFile:文件上传的基本功能类,继承父类File,主要获取文件的文件名、大小和类型等基本信息
- TemporaryUploadFile:将文件数据临时放在服务器所指定的文件夹里,适用于大文件的上传
- InMemoryUploadFile:在文件数据存放在服务器的内存里,适用于小文件的上传
- SimpleUploadFile:将文件的文件名、大小和类型生成字典格式
Django Web应用开发实战第四章的更多相关文章
- 4类Storage方案(AS开发实战第四章学习笔记)
4.1 共享参数SharedPreferences SharedPreferences按照key-value对的方式把数据保存在配置文件中,该配置文件符合XML规范,文件路径是/data/data/应 ...
- 菜单Menu(AS开发实战第四章学习笔记)
4.5 菜单Menu Android的菜单主要分两种,一种是选项菜单OptionMenu,通过按菜单键或点击事件触发,另一种是上下文菜单ContextMenu,通过长按事件触发.页面的布局文件放在re ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- Android艺术开发探索第四章——View的工作原理(下)
Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...
- WCF开发实战系列四:使用Windows服务发布WCF服务
WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...
- Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后.C#的作用就发生了非常大的变化 ...
- 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码
在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...
- Knockout应用开发指南 第四章:模板绑定
原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方 ...
- 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战
微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...
- Spring实战第四章学习笔记————面向切面的Spring
Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...
随机推荐
- SQL Server 2025 AI相关能力初探
SQL Server 在2024年11月开始进行社区私有预览(链接),由于涉及AI能力,我也是第一时间申请了内侧资格,悲剧的是,直到2025年2月,才拿到预览版的测试资格-.-,此时已经是CTP1.3 ...
- Swagger OpenAPI Schema 为空时 Example Value 显示 "string" 的原因及解决方案
解决Swagger UI示例值显示"string"的问题 最近在使用ObjectScript生成JSON接口文档时,遇到了一个奇怪的问题: 生成的JSON数据是正常的. 但Swag ...
- 【Pre】预习测试-Logisim/Verilog/MIPS
好家伙,开门挂 T2 字符自动机cscore 1.审题·惯性思维:直接输出了当前连续数,题目要求是最大连续数 -> [重新读题解决] 2.非阻塞赋值运用:若在always块内通过if(out1 ...
- 【记录】C++STL容器/特有类 使用积累
STL容器共有成员函数 size() max_size() empty() begin() end() clear() [链接]csdn_STL中所有容器共有成员函数 双端队列deque 1.创建与初 ...
- 朱朝兵《Web前端开发之HTML5+CSS3快速入门》课程资料在线学习
<Web前端开发之HTML5+CSS3快速入门> [课程简介]本课程由一直专注前端技术与Discuz模板设计与制作!DZ起点网创始人朱朝兵出品,通过本课程学习,即可掌握html5的基本结构 ...
- docker-compose up -d 运行容器秒自动停止解决方案
正常的我们运行Docker-Compose的服务 docker-compose -f docker-compose.yml up -d mysql-setup 执行Docker ps 查看存活的容器 ...
- openssl基础使用(密码学 linux)
目录 实验原理 实验过程 一.对称加密 1.使用rc4加解密 2.使用AES加解密 ...
- Docker镜像介绍
一.Docker镜像介绍 镜像是Docker的三大核心概念之一. Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认的镜像仓库下载(默认使用Docker Hu ...
- MySQL中怎么分析性能?
MySQL中主要有4种方式可以分析数据库性能,分别是慢查询日志,profile,Com_xxx和explain. 慢查询日志 先用下面命令查询慢查询日志是否开启, show variables lik ...
- 线性判别分析(LDA):降维与分类的完美结合
在机器学习领域,线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的算法,它在降维和分类任务中都表现出色. LDA通过寻找特征空间中能够最大化类间方差和最小 ...