request和response——请求响应对象
请求对象——request
获取get请求的值
一次请求,返回一个响应。
地址栏:http://127.0.0.1:8000/day3/get_request?lan=python
问号:代表请求参数
需求:拿到请求参数
传入单个值
# views.py
def get_request(request):
return HttpResponse('getrequest')
# urls.py
path('getrequest',get_request),
想要拿到地址栏中的参数
print(request.GET)
发现打印出来的是字典,所以——
print(request.GET.get('lan'))
【知识点】
打印字典中的值,有两种办法:
1,print(request.GET.get('lan'))——(一般用这个)假设key不存在,返回空值None
2,print(request.GET['lan'])——key不存在,会抛出异常
传入多个值
print(request.GET.getlist('lan'))
获取路由地址
如何来到get_request函数的(这个视图函数)
print(request.path_info)
获取请求方式(get/post)
print(request.method)
【知识点】
Django中地址栏默认是get请求,如果要发送post请求,需要把中间件的(选中的)注释掉
【知识点】
post请求,往表单中传入数据(用的postman)
获取post请求的值
获取value
假设表单中的值是这样的:
先看看request.POST打印出什么
拿到request.POST.get('b_title')
表单上传
print(request.FILES)
(files里面对应的是文件对象)
根据请求方式选择路由
path('testgetpost', test_get_post),
# 根据不同的请求方式做不同的处理
def test_get_post(request):
if request.method == 'GET':
return HttpResponse('get请求')
elif request.method == 'POST':
# li = [1,2]
# print(li[2])
return HttpResponse('post请求')
else:
return HttpResponse(request.method)
响应对象——response
常见的状态码
200(响应成功)
500(python代码有问题)
404(资源找不到)
405(请求不被允许)
301 302 (重定向,浏览器的行为)
给定响应头
默认返回的头信息
path('test_response_header',test_response_header),
def test_response_header(request):
ret = HttpResponse('test_response_header')
return ret
自定义头信息
path('test_response_header',test_response_header),
def test_response_header(request):
# content-type是html类型
ret = HttpResponse('test_response_header')
# 自定义头信息
ret['msg'] = 'success'
ret['code'] = 'ok'
return ret
其他响应对象
json 数据格式 解决前后端数据不认识的问题 {'key':value}
前后不分离项目 :前后端全部编写,会经常使用HttpResponse对象
前后分离项目时使用: 会经常使用JsonResponse对象
json 数据格式
用途:一般做前后分离项目时使用
path('test_json_response', test_json_response),
def test_json_response(request):
# content-type是json类型
return JsonResponse(request.GET)
文件处理
path('test_file_response',test_file_response),
def test_file_response(request):
return FileResponse(open('manage.py','rb'))
return JsonResponse和return FileResponse的区别
return JsonResponse和return:返回值类型是Json
return FileResponse:返回值类型是文件的类型
request和response——请求响应对象的更多相关文章
- @ModelAttribute设置request、response、session对象
利用spring web提供的@ModelAttribute注解 放在类方法的参数前面表示引用Model中的数据 @ModelAttribute放在类方法上面则表示该Action类中的每个请求调用之前 ...
- ASP.NET中的Request、Response、Server对象
Request对象 Response.Write(Request.ApplicationPath) //应用根路径 Request.AppRelativeCurrentExecutionFilePat ...
- Django请求响应对象
请求与响应对象 HttpRequest HttpRequest存储了客户请求的相关参数和一些查询方法. path 请求页面的全路径,不包括域名-例如, "/hello/". met ...
- response (响应对象)
一.response响应过程 在去发送一个请求时, 会找到tomcat引擎 引擎会找到对应的web应用,并且会创建request对象和response对象 找到应用后, 会执行应用的web.xml再去 ...
- node——request和response的常用对象
request(http.IncomingMessage)和response(http.ServerResponse)对象介绍 request:服务器解析用户提交的http请求报文,将结果解析到req ...
- django之三剑客、静态文件配置、请求响应对象、数据库操作
三剑客 from django.shortcuts import render,HttpResponse,redirect HttpResponse # 返回字符串 render(response, ...
- SpringMvc4中获取request、response对象的方法
springMVC4中获取request和response对象有以下两种简单易用的方法: 1.在control层获取 在control层中获取HttpServletRequest和HttpServle ...
- Java 中的 request 和response 理解
request和response(请求和响应) 1.当Web容器收到客户端的发送过来http请求,会针对每一次请求,分别创建一个用于代表此次请求的HttpServletRequest对象(reque ...
- JavaWeb(一)Servlet中的request与response
一.HttpServletRequest概述 1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP ...
随机推荐
- [LeetCode]4.寻找两个正序数组的中位数(Java)
原题地址: median-of-two-sorted-arrays 题目描述: 示例 1: 输入:nums1 = [1,3], nums2 = [2] 输出:2.00000 解释:合并数组 = [1, ...
- 字段是字段,属性是属性,字段不是属性,属性看getter或setter
1.看图猜字段和属性 2.结果是一个属性[字段麻,太明目张胆啦,就是2啦],又是哪个属性能够显示出来呢? 3.这是为什么呢? 让我们回到javabean的课堂~~~ ★ javaBean中的prope ...
- 使用Java的GUI技术实现 “ 贪吃蛇 ” 游戏
详细教程: 使用Java的GUI技术实现 " 贪吃蛇 " 游戏_IT打工酱的博客-CSDN博客
- springboot页面国际化
引入依赖pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- 华为服务器设置iBMC管理网口IP地址,开启Monitor图文教程
设置iBMC管理网口IP地址 默认用户名:root 默认密码:Huawei12#$ 操作步骤 服务器重启时,当出现如下界面时,重复按"Delete". 在启动过程出现输入密码对话框 ...
- idea maven问题汇总
目录 idea问题.maven问题汇总 解决方法汇总 idea问题.maven问题汇总 idea maven依赖包报can't resolve问题 代码飘红 解决办法:删除所有.idea等idea相关 ...
- PCL库在Linux环境下的编译安装
PCL库在Linux环境下的编译安装 PCL库的源码库:https://github.com/PointCloudLibrary/pcl 下载完了之后解压下来 编译库的几个步骤 mkdir build ...
- POJ2663,3420题解
两道非常像的题,放到一起来写 题目大意:用若干2x1的砖去铺一个3xN的空间(POJ3420为4xN),问总共有多少种不同的铺法(POJ3420还要求结果对MOD求模). 思路:找规律.对于3xN的空 ...
- Pycharm:运行程序时,不额外打开一个Console
每次运行程序,比如A.py,都会额外生成一个Console,排列成一排的 A(2),A(3),... 那么如何关闭呢? 答案是:在Settings->Console中,勾选 'Use exis ...
- Python:Dict
0.运算符 in:检查字典中是否有某个key 'a' in {'a':1,'b':2} True 提取其中Key对应的Value: d={'1':'A','2':'B','3':'C'} d['2'] ...