Dajngo——10

  1. HttpRequest对象
  2. HttpResponse对象及子类
  3. form标签中的GET和POST
    1. GET提交方式
    2. POST提交方式
  4. request得GET和POST属性
  5. 文件上传
  6. 服务器得cookie操作
  7. 类视图方法

HttpRequest对象

服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpRequest对象的API

HttpResponse对象

HttpResponse的子类

返回数据的响应函数有:

  • HttpResponse()   返回简单的字符串对象
  • render()   渲染模板
  • redirect()  重定向
  • JsonResponse()  返回json数据
    • 帮助用户创建JSON编码的响应
    • 参数data是字典对象
    • JsonResponse的默认Content-Type为application/json

form标签中的GET和POST

在HTML中,form表单的作用是收集标签中的内容,<form>...</form> 中间可以由访问者添加类似于文本,选择,或者一些控制模块等等.然后这些内容将会被送到服务端。

一个表单必须指定两样东西:
1. form的method参数用于设置表单的提交方式,默认使用POST.
2. action用于设置表单的提交url,如果不写或者保持空字符串,那么将使用当前的URL.

GET提交方式

在上面的视图中渲染模板,在下面的视图中处理提交的数据,

1.get提交的参数会在url中显示.
2.可以通过request.GET.get的方法来获取提交的参数.

POST提交方式

视图函数

1.post的提交方式不会在url中显示参数
2.可以通过request.POST.get方式来获取提交的数据

request得GET和POST属性

GET属性:

  • - QueryDict类型的对象
  • - 包含get请求方式的所有参数
  • - 与url请求地址中的参数对应,位于?后面
  • - 参数的格式是键值对,如key1=value1
  • - 多个参数之间,使用&连接,如key1=value1&key2=value2

POST属性:

  • - QueryDict类型的对象
  • - 包含post请求方式的所有参数
  • - 与form表单中的控件对应
  • - 表单中控件要有name属性,则name属性的值为键,value属性的值为值,构成键值对提交
  • - 对于checkbox控件,name属性一样为一组,当控件被选中后会被提交,存在一键多值的情况.

GET和POST得请求总结

  • 1. GET:GET如其名,是从服务器获取数据,不会更改服务器的状态和数据,在URL中携带参数发送给服务器。
  • 2. POST则是将一定量的数据发送给服务器,一般会更改服务器的数据。
  • 3. POST方法的参数不能在URL当中看到,他是通过body参数传递给服务器的,所以相对GET方法直接能在URL当中看到传递的参数,显得更加安全一些.当然,也不能简单的判定POST方法比GET方法更安全,要使网站保持安全,需要做更多的安全处理.

文件上传

FILES只有在请求的方法为POST 且提交的<form>带有enctype="multipart/form-data" 的情况下才会包含数据。否则,FILES 将为一个空的类似于字典的对象
文件上传视图

服务器中设置cookie和获取cookie

注意:设置cookie值以及删除cookie值都是response对象的操作,而获取cookie是从requeset相应中获得的.

类视图方法

url设置

Dajngo——10 请求与响应 文件上传 GET和POST请求 类视图的更多相关文章

  1. requests接口自动化7-Multi/form-data文件上传形式的post请求:files

    Multi/form-data文件上传形式的post请求:用files传参 fiddler里请求响应内容; 代码: import requests from requests_toolbelt imp ...

  2. maven工程 java 实现文件上传 SSM ajax异步请求上传

    java ssm框架实现文件上传 实现:单文件上传.多文件上传(单选和多选),并且用 ajax 异步刷新,在当前界面显示上传的文件 首先springmvc的配置文件要配置上传文件解析器: <!- ...

  3. .net mvc 超过了最大请求长度 限制文件上传大小

    在我们的项目中遇到"超过了最大请求长度"如下图所示,是因为IIS默认请求长度4M,当请求长度大于这个值的时候报错,下面是解决方案. 解决方案:修改web.config文件 1.注意 ...

  4. element 多个文件上传多次http请求解决方法

    第一步 action="#" 第二步 :auto-upload = "false" 第三步 给元素绑定click事件触发提交方法,注意,把其他没有用的文件都给去 ...

  5. 与文件上传到的三个类:FileItem类、ServletFileUpload 类、DiskFileItemFactory类

    文件上传: ServletFileUpload负责处理上传的文件数据,并将表单中每个输入项封装成一个FileItem对象中, 在使用ServletFileUpload对象解析请求时需要根据DiskFi ...

  6. Java中request请求之 - 带文件上传的form表单

    常用系统开发中总免不了显示图片,保存一些文件资料等操作. 这些操作的背后,就是程序员最熟悉的 enctype="multipart/form-data"类型的表单. 说起file类 ...

  7. ajax多文件上传,js原生ajax请求(转)

    function uploadImageFile(){ var xhr = new XMLHttpRequest(); //定义表单变量 var file = document.getElementB ...

  8. Ubuntu 14.10 下Hadoop FTP文件上传配置

    最近老板提出一个需求,要用Hadoop机群管理生物数据,并且生物数据很多动辄几十G,几百G,所以需要将这些数据传到HDFS中,在此之前搭建了HUE用来图形化截面管理HDFS数据,但是有个问题,上面使用 ...

  9. 文件上传到ftp服务工具类

    直接引用此java工具类就好 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcep ...

随机推荐

  1. 57.部门职位管理 ExtJs 展示

    1.jobInfo.jsp <%@ page language="java" pageEncoding="UTF-8"%> <script t ...

  2. C. Unusual Product(cf)

    http://codeforces.com/problemset/problem/405/C 题意: 给出一个n*n的矩阵,有q个操作,输入3时,输出A ,A等于第i行乘以第i列的对应元素的和(mod ...

  3. php安全过滤类

    /*ansic码-Url码表: http://www.w3school.com.cn/tags/html_ref_urlencode.html ---------------------------- ...

  4. poj1006生理周期(中国剩余定理)

    生理周期 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 139224   Accepted: 44687 Descripti ...

  5. [Swift通天遁地]二、表格表单-(12)设置表单文字对齐方式以及自适应高度的文本区域TextArea

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  6. [Swift通天遁地]五、高级扩展-(1)快速检测设备属性:版本、类型、屏幕尺寸

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. RabbitMQ死循环-延长ACK时间

    一.应用背景 今天做一个需求,要将RabbitMQ中的任务取出并执行,为防止任务执行期间出错,设置NO_ACK=FALSE标志,这样.一旦任务没有应答的话,相应的任务就会被RabbitMQ自动Re-Q ...

  8. ZOJ3714JavaBeans

    #!/usr/bin/env python # encoding: utf-8 t = int(raw_input()) for i in range(t): n,k = [int(x) for x ...

  9. html5——css选择器

    复习 div>p: 子代 div+p:div后面相邻的第一个p div~p: div后面所有的兄弟p 属性选择器 标志:[]:区别于id选择器:#,区别于类名选择器:. 特殊符号:^:开头    ...

  10. JS——for

    打印两行星星: <script> for (var i = 0; i < 2; i++) { for (var j = 0; j < 10; j++) { document.w ...