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 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...
随机推荐
- 复杂任务分解:Tree of Thought
像搭乐高一样玩转AI思考 今天要带大家解锁一个让AI从"单细胞生物"进化成"八爪鱼思考者"的神技--Tree of Thought(思维树).准备好了吗?我们要 ...
- CTF常见密码汇总
栅栏密码 fg2ivyo}l{2s3_o@aw__rcl@-->flag{w22_is_v3ry_cool} https://tool.bugku.com/jiemi/ 所谓栅栏密码,就是把要加 ...
- C/C++显示类型转换的位拓展方式
最近用verilator写模块的tb,在这里卡了好久(测半天都是C++写的问题) 要点 变量从小位宽到大位宽显示类型转换(explicit cast)时的位拓展方式,取决于转换前变量的符号性. 倘若转 ...
- java的三大版本、特性和优势
Write Once Run AnyWhere 版本: JavaSE:标准版(桌面程序.控制台开发) JavaME:嵌入式开发(手机.家电...) JavaEE:E企业级开发(web端.服务端开发) ...
- ADO.NET中SQL绑定变量方式总结
最近在项目上遇到几个问题,关于ADO.NET中SQL绑定变量 总结一下,分享给大家. 1. 使用 SqlParameter(推荐方式,防止 SQL 注入) ADO.NET 提供 SqlParamete ...
- docker部署ceph集群
1. 创建Ceph专用网络 sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network 2. 拉取搭建 ...
- Docker使用手册--给你通用常用命令
卸载JDK rpm -qa | grep -i java rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 安装JDK tar -zxvf jdk- ...
- Docker图形化工具Portainer安装
Docker方式安装 我们可以直接使用 **Docker** 的方式来安装 首先创建数据卷,实现数据持久化 docker volume create portainer_db 启动 **Partain ...
- 学习 Docker 如何查看镜像信息?
学习 Docker 如何查看镜像信息? 一.images 命令列出镜像 通过使用如下两个命令,列出本机已有的镜像: docker images 或: docker image ls 如下图所示: 对上 ...
- CSAPP学习笔记——Chapter10,11 系统级I/O与网络编程
CSAPP学习笔记--Chapter10,11 系统级I/O与网络编程 Chapter10 系统级I/O 系统级I/O这一章的内容,主要可以通过这张图概括: Unix I/O模型是在操作系统内核中实现 ...