Dajngo——10 请求与响应 文件上传 GET和POST请求 类视图

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设置

 

posted @ 2019-01-04 16:53  pywjh  阅读(444)  评论(0编辑  收藏  举报
回到顶部