一、设置响应方式

  网站的运行原理遵从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应用开发实战第四章的更多相关文章

  1. 4类Storage方案(AS开发实战第四章学习笔记)

    4.1 共享参数SharedPreferences SharedPreferences按照key-value对的方式把数据保存在配置文件中,该配置文件符合XML规范,文件路径是/data/data/应 ...

  2. 菜单Menu(AS开发实战第四章学习笔记)

    4.5 菜单Menu Android的菜单主要分两种,一种是选项菜单OptionMenu,通过按菜单键或点击事件触发,另一种是上下文菜单ContextMenu,通过长按事件触发.页面的布局文件放在re ...

  3. 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两种软件体 ...

  4. Android艺术开发探索第四章——View的工作原理(下)

    Android艺术开发探索第四章--View的工作原理(下) 我们上篇BB了这么多,这篇就多多少少要来点实战了,上篇主席叫我多点自己的理解,那我就多点真诚,少点套路了,老司机,开车吧! 我们这一篇就扯 ...

  5. WCF开发实战系列四:使用Windows服务发布WCF服务

    WCF开发实战系列四:使用Windows服务发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇文章中我们通过编写的控制台程序或WinForm程序来为本 ...

  6. Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序

    Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序 C#原本是用来编写Windows以及Windows Phone的应用程序.自从Xamarin问世后.C#的作用就发生了非常大的变化 ...

  7. 学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码

    在学习python Web开发时,我们会选择使用Django.flask等框架. 在学习flask时,推荐学习看看<Flask Web开发:基于Python的Web应用开发实战(第2版)> ...

  8. Knockout应用开发指南 第四章:模板绑定

    原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方 ...

  9. 微软实战训练营(X)重点班第(1)课:SOA必备知识之ASP.NET Web Service开发实战

    微软实战训练营 上海交大(A)实验班.(X)重点班 内部课程资料 链接:http://pan.baidu.com/s/1jGsTjq2 password:0wmf <微软实战训练营(X)重点班第 ...

  10. Spring实战第四章学习笔记————面向切面的Spring

    Spring实战第四章学习笔记----面向切面的Spring 什么是面向切面的编程 我们把影响应用多处的功能描述为横切关注点.比如安全就是一个横切关注点,应用中许多方法都会涉及安全规则.而切面可以帮我 ...

随机推荐

  1. 复杂任务分解:Tree of Thought

    像搭乐高一样玩转AI思考 今天要带大家解锁一个让AI从"单细胞生物"进化成"八爪鱼思考者"的神技--Tree of Thought(思维树).准备好了吗?我们要 ...

  2. CTF常见密码汇总

    栅栏密码 fg2ivyo}l{2s3_o@aw__rcl@-->flag{w22_is_v3ry_cool} https://tool.bugku.com/jiemi/ 所谓栅栏密码,就是把要加 ...

  3. C/C++显示类型转换的位拓展方式

    最近用verilator写模块的tb,在这里卡了好久(测半天都是C++写的问题) 要点 变量从小位宽到大位宽显示类型转换(explicit cast)时的位拓展方式,取决于转换前变量的符号性. 倘若转 ...

  4. java的三大版本、特性和优势

    Write Once Run AnyWhere 版本: JavaSE:标准版(桌面程序.控制台开发) JavaME:嵌入式开发(手机.家电...) JavaEE:E企业级开发(web端.服务端开发) ...

  5. ADO.NET中SQL绑定变量方式总结

    最近在项目上遇到几个问题,关于ADO.NET中SQL绑定变量 总结一下,分享给大家. 1. 使用 SqlParameter(推荐方式,防止 SQL 注入) ADO.NET 提供 SqlParamete ...

  6. docker部署ceph集群

    1. 创建Ceph专用网络 sudo docker network create --driver bridge --subnet 172.20.0.0/16 ceph-network 2. 拉取搭建 ...

  7. Docker使用手册--给你通用常用命令

    卸载JDK rpm -qa | grep -i java rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 安装JDK tar -zxvf jdk- ...

  8. Docker图形化工具Portainer安装

    Docker方式安装 我们可以直接使用 **Docker** 的方式来安装 首先创建数据卷,实现数据持久化 docker volume create portainer_db 启动 **Partain ...

  9. 学习 Docker 如何查看镜像信息?

    学习 Docker 如何查看镜像信息? 一.images 命令列出镜像 通过使用如下两个命令,列出本机已有的镜像: docker images 或: docker image ls 如下图所示: 对上 ...

  10. CSAPP学习笔记——Chapter10,11 系统级I/O与网络编程

    CSAPP学习笔记--Chapter10,11 系统级I/O与网络编程 Chapter10 系统级I/O 系统级I/O这一章的内容,主要可以通过这张图概括: Unix I/O模型是在操作系统内核中实现 ...