请问如何获取请求和响应对象?

2026-05-19 16:261阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计766个文字,预计阅读时间需要4分钟。

请问如何获取请求和响应对象?

python请请求对象 - request 获取 get 请求的值,一次请求返回一个响应。地址栏:http://127.0.0.1:8000/day3/get_request?lan=python问题:代表请求参数,需求:拿到请求参数,传入单个值。

请求对象——request 获取get请求的值

一次请求,返回一个响应。
地址栏: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:返回值类型是文件的类型

本文共计766个文字,预计阅读时间需要4分钟。

请问如何获取请求和响应对象?

python请请求对象 - request 获取 get 请求的值,一次请求返回一个响应。地址栏:http://127.0.0.1:8000/day3/get_request?lan=python问题:代表请求参数,需求:拿到请求参数,传入单个值。

请求对象——request 获取get请求的值

一次请求,返回一个响应。
地址栏: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:返回值类型是文件的类型