5.-GET请求和POST请求

2023-01-01,,,

一、定义
无论是GET请求还是POST,统一由视图函数接收请求,通过判定request.method区分具体的请求动作
 

 
二、GET处理
GET请求方式中,如果有数据需要传递给服务器,通常会用查询字符串(Query String)传递(注意不要传递敏感数据)
URL格式: xxx?参数名1=值1&参数名2=值2...
 
服务器接收参数

获取客户端请求GET请求提交的数据

# 请求地址为http://127.0.0.1/index?a=1&b=2

request.GET['参数名']  #QueryDict  例如  request.GET['a'] 输出结果为1,,如果有多个同名参数,会获取的一个,如果参数不存在,会报错

request.GET.get('参数名','默认值') 例如  request.GET.get('c','no c') #如果参数C存在,输出C的值,如果不存在,输出定义信息no c

# 请求地址为 请求地址为http://127.0.0.1/index?a=1&a=2&a=3

request.GET.getlist('参数名')  例如 request.GET.getlist('a') 如果参数有同名参数,会输出同名参数的所有值
 

 
 
 
 
三、POST处理
POST请求动作,一般用于向服务器提交大量/隐私数据
服务器接收参数,通过request.method来判断是否为post请求

 

使用POST方式接收客户数据
request.POST['参数名']
request.POST.get('参数名','默认值')
request.POST.getlist('参数名')

四、 CSRF验证
post需要取消csrf验证,否则Django 将会拒绝客户端发来的POST请求,报403响应
如果有csrf验证,前端需要添加{% csrf_token%}
取消验证方式:
注释掉settings.py 中 MIDDLEWARE 的CsrfViewMiddleware中间件
 

 
 
 

5.-GET请求和POST请求的相关教程结束。

《5.-GET请求和POST请求.doc》

下载本文的Word格式文档,以方便收藏与打印。