【Django学习笔记 - 5】:请求和响应

目录

 一、初步了解请求和响应

1、请求 

 2、响应

二、url参数获取

三、请求中获取参数 

1、get请求中的参数 

 2、form表单参数:post请求

 表单参数的获取

3、json数据类型


 一、初步了解请求和响应

1、请求 

请求就是浏览器(客户端)通过http协议或者HTTPS向服务器发送请求获取数据
Django中前端向后端传参数方式:
查询字符串参数
请求体参数:

  • form表单传参
  • json格式参数
  • 上传文件

请求头传参
路径参数:

  • url路径中的参数 

 2、响应

响应是什么? 


二、url参数获取

示例:根据城市和日期为路由路径参数,并获取出路由参数,进行逻辑判断,返回相应的天气情况

  • 首先在跟路由中写上路由分发的代码语句 

 

  •  然后使用re_path,在子路由中写上匹配路由路径的语句

(?P<city>[a-z]+):表示通过正则匹配,匹配从a-z字母的一个或多个,并赋值给city

(?P<year>\d{8}):表示通过正则匹配,匹配8个数字长度,并赋值给year

  •  在 views.py 文件中写入函数 

  •  运行Django项目,在浏览器url路径中写入正确的请求路径之后,参数被打印出来

  •  在views.py中完善代码逻辑

  •  运行Django项目,查看执行结果


三、请求中获取参数 

1、get请求中的参数 

获取参数的方法:

获取单个数据:request.GET.get('a')(当请求参数中有多个a的时候,get会往下匹配到最后一个参数a,如果要获取所有的参数a,就要使用getlist)

获取多个数据:request.GET.getlist('a') 

  • 在views.py文件中,新建一个函数,欲在请求路径中添加参数

 

  •  运行Django项目,在请求路径中添加参数

?a=100&b=200

 

  •  回车运行后,通过debug可查看请求参数所在的地方

  • 在运行结果中查看是否打印出请求参数

 

  •  在请求路径中再添加一个请求参数a

 

  •  回车后查看运行结果,发现只有最后一个参数a被匹配出

 

  •  将get改为getlist,运行查看结果

 

 2、form表单参数:post请求

以下操作中将在Postman中进行,通过Postman向请求路径发送请求

  • 在Postman中设置好form表单,使用post请求向请求路径发送请求 

  •  在views.py中重新写函数,使用debug

  • 然后在settings.py中的中间件注释一个代码语句

如果不注释次语句,使用Postman发送请求时就会返回一个403的响应 ,这个是Django的保护机制

  •  在Postman中点击“Send”,然后通过debug查看参数

 表单参数的获取

requset.POST.get(键名)

  •  添加获取表单参数的代码语句

 

  • 重新运行manage.py,然后在Postman中点击“Send” ,即可看到表单参数被打印出来

 

3、json数据类型

json数据和字典的区别: 

字典可以用单引号和双引号,例如:{"name":"阿峰"},{'name':'阿峰'}

而json数据只能用双引号,例如:{"name":"阿峰"}

  • 在views.py文件中写入获取json数据和转换json数据的代码逻辑

  • 添加路由 

  •  在Postman中给响应体写上json数据

  •  运行Django,使用debug查看数据所在位置


版权声明:本文为Oh_Python原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。