GET和POST
- 无论是GET还是POST,统一是由视图函数接收请求,通过判断request.method区分具体的请求动作
- 样例:
if request.method == "GET":
# 处理GET请求时的业务逻辑
elif request.method == "POST":
# 处理POST请求的业务逻辑
else:
# 其他业务逻辑
一,GET处理
-
GET请求动作,一般用于向服务器获取数据
-
能够产生GET请求的场景
1,浏览器地址栏中输入URL,回车后
2,< * href=“地址?参数=值&参数=值”>
3,form表单中的method为get
GET请求方式中,如果有数据需要传递给服务器,通常会查询字符串(Query String)传递
**注意:不要传递敏感数据,不安全
URL格式:xx?参数名1=值1&参数名2=值2
服务端接收参数,获取客户端请求GET请求提交的数据 -
方法示例
-
request.GET[“参数名”]
-
request.GET.get(“参数名”, 默认值)
如果参数名没有值,则用默认值 -
request.GET.getlist(“参数名”)
问卷调查- from get 复选框可能会有多个key
二,POST处理
- POST请求动作,一般用于向服务器提交大量/隐私数据
- 客户端通过表单等POST请求将数据传递给服务器端
- 使用post方式接收客户端数据
request.POST[‘参数名’]
request.POST.get(“参数名”,”“)
request.POST.getlist(“参数名”)
取消csrf验证,否则Django将会拒绝客户端发来的POST请求,报403响应 - 取消CSRF验证
禁止掉settings.py中MIDDLEWARE中的CsrfViewMiddleware的中间件
样例: