请求对象——request
获取get请求的值
传入单个值
# views.py
def get_request(request):
return HttpResponse('getrequest')
# urls.py
path('getrequest',get_request),
想要拿到地址栏中的参数print(request.GET)
发现打印出来的是字典,所以——print(request.GET.get('lan'))
传入多个值
print(request.GET.getlist('lan'))
获取路由地址
如何来到get_request函数的(这个视图函数)print(request.path_info)
获取请求方式(get/post)
print(request.method)
获取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
常见的状态码
给定响应头
默认返回的头信息
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 数据格式
用途:一般做前后分离项目时使用
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'))