一、初步了解请求和响应
1、请求
请求就是浏览器(客户端)通过http协议或者HTTPS向服务器发送请求获取数据
Django中前端向后端传参数方式:
查询字符串参数
请求体参数:
- form表单传参
- json格式参数
- 上传文件
请求头传参
路径参数:
- url路径中的参数
2、响应
响应是什么?
二、url参数获取
示例:根据城市和日期为路由路径参数,并获取出路由参数,进行逻辑判断,返回相应的天气情况
首先在跟路由中写上路由分发的代码语句
- 然后使用re_path,在子路由中写上匹配路由路径的语句
(?P[a-z]+):表示通过正则匹配,匹配从a-z字母的一个或多个,并赋值给city
(?P\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查看数据所在位置