请求对象——request

获取get请求的值

传入单个值

# views.py
def get_request(request):
    return HttpResponse('getrequest')
# urls.py
path('getrequest',get_request),

想要拿到地址栏中的参数
print(request.GET)
request和response——请求响应对象-LMLPHP
发现打印出来的是字典,所以——
print(request.GET.get('lan'))
request和response——请求响应对象-LMLPHP

传入多个值

request和response——请求响应对象-LMLPHP
print(request.GET.getlist('lan'))
request和response——请求响应对象-LMLPHP

获取路由地址

如何来到get_request函数的(这个视图函数)
print(request.path_info)
request和response——请求响应对象-LMLPHP

获取请求方式(get/post)

print(request.method)
request和response——请求响应对象-LMLPHP

获取post请求的值

获取value

假设表单中的值是这样的:
request和response——请求响应对象-LMLPHP
先看看request.POST打印出什么
request和response——请求响应对象-LMLPHP
拿到request.POST.get('b_title')
request和response——请求响应对象-LMLPHP

表单上传

print(request.FILES)
request和response——请求响应对象-LMLPHP
(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

request和response——请求响应对象-LMLPHP

自定义头信息

 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

request和response——请求响应对象-LMLPHP

其他响应对象

json 数据格式

用途:一般做前后分离项目时使用

path('test_json_response', test_json_response),
def test_json_response(request):
    # content-type是json类型
    return JsonResponse(request.GET)

request和response——请求响应对象-LMLPHP
request和response——请求响应对象-LMLPHP

文件处理

path('test_file_response',test_file_response),
 def test_file_response(request):
    return FileResponse(open('manage.py','rb'))

request和response——请求响应对象-LMLPHP

return JsonResponse和return FileResponse的区别

03-27 21:10