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
Dajngo——10  请求与响应   文件上传    GET和POST请求    类视图

 

HttpResponse对象

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

HttpResponse的子类

返回数据的响应函数有:

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

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

 

 

 form标签中的GET和POST

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

一个表单必须指定两样东西:
1. form的method参数用于设置表单的提交方式,默认使用POST.
2. action用于设置表单的提交url,如果不写或者保持空字符串,那么将使用当前的URL.
Dajngo——10  请求与响应   文件上传    GET和POST请求    类视图

 

GET提交方式

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

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

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

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

 POST提交方式

视图函数

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

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

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

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

 

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方法更安全,要使网站保持安全,需要做更多的安全处理.

 

文件上传

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

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

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

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

 

 

 服务器中设置cookie和获取cookie

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

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

类视图方法

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

url设置

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

 

相关文章:

  • 2022-12-23
  • 2021-12-11
  • 2021-11-10
  • 2022-03-04
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-03-02
  • 2021-05-20
  • 2021-08-30
相关资源
相似解决方案