请求对象——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——请求响应对象的更多相关文章

  1. @ModelAttribute设置request、response、session对象

    利用spring web提供的@ModelAttribute注解 放在类方法的参数前面表示引用Model中的数据 @ModelAttribute放在类方法上面则表示该Action类中的每个请求调用之前 ...

  2. ASP.NET中的Request、Response、Server对象

    Request对象 Response.Write(Request.ApplicationPath) //应用根路径 Request.AppRelativeCurrentExecutionFilePat ...

  3. Django请求响应对象

    请求与响应对象 HttpRequest HttpRequest存储了客户请求的相关参数和一些查询方法. path 请求页面的全路径,不包括域名-例如, "/hello/". met ...

  4. response (响应对象)

    一.response响应过程 在去发送一个请求时, 会找到tomcat引擎 引擎会找到对应的web应用,并且会创建request对象和response对象 找到应用后, 会执行应用的web.xml再去 ...

  5. node——request和response的常用对象

    request(http.IncomingMessage)和response(http.ServerResponse)对象介绍 request:服务器解析用户提交的http请求报文,将结果解析到req ...

  6. django之三剑客、静态文件配置、请求响应对象、数据库操作

    三剑客 from django.shortcuts import render,HttpResponse,redirect HttpResponse # 返回字符串 render(response, ...

  7. SpringMvc4中获取request、response对象的方法

    springMVC4中获取request和response对象有以下两种简单易用的方法: 1.在control层获取 在control层中获取HttpServletRequest和HttpServle ...

  8. Java 中的 request 和response 理解

    request和response(请求和响应)  1.当Web容器收到客户端的发送过来http请求,会针对每一次请求,分别创建一个用于代表此次请求的HttpServletRequest对象(reque ...

  9. JavaWeb(一)Servlet中的request与response

    一.HttpServletRequest概述 1.1.HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP ...

随机推荐

  1. Solution -「LOJ #138」「模板」类欧几里得算法

    \(\mathcal{Description}\)   Link.   \(T\) 组询问,每次给出 \(n,a,b,c,k_1,k_2\),求 \[\sum_{x=0}^nx^{k_1}\left\ ...

  2. Note -「最大团-最小度不等式」

      这是什么奇怪的名字qwq. 一些定义   只为便于理解,没有苛求专业的定义. 简单无向图:不存在重边.自环的无向图. \(\delta(G)\):无向图 \(G\) 中结点的最小度数.即 \(\m ...

  3. MyBatis中执行器Executor框架

    与JDK提供的Executor框架类似,MyBatis也提供了一套Executor框架,具体如下图: 其为Mybatis提供与数据库交互的功能,是一个典型的装饰器模式的应用--对JDBC功能的封装,同 ...

  4. Python中random模块的用法案例

    1 import random # 调用random模块 2 3 a = random.random() # 随机从0-1之间抽取一个小数 4 print(a) 5 6 a = random.rand ...

  5. [旧][Android] View 工作原理(一)

    备注 原发表于2016.05.23,资料已过时,仅作备份,谨慎参考 前言 本文参考<Android 开发艺术探索>及网上各种资料进行撰写,目的是为自己理清 Android 中 View 的 ...

  6. Oracle之PL/SQL Developer的下载与安装

    PL/SQL是什么? PL/SQL Developer是一个集成开发环境(以下简称PL/SQL),专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Proced ...

  7. Windows命令(ping、telnet、netstat详解)

    转至:https://www.cnblogs.com/lisuyun/articles/5864744.html netstat详解转自http://wsmajunfeng.iteye.com/blo ...

  8. 60天shell脚本计划-8/12-渐入佳境

    --作者:飞翔的小胖猪 --创建时间:2021年3月3日 --修改时间:2021年3月7日 说明 每日上传更新一个shell脚本,周期为60天.如有需求的读者可根据自己实际情况选用合适的脚本,也可在评 ...

  9. 60天shell脚本计划-7/12-渐入佳境

    --作者:飞翔的小胖猪 --创建时间:2021年2月26日 --修改时间:2021年3月2日 说明 每日上传更新一个shell脚本,周期为60天.如有需求的读者可根据自己实际情况选用合适的脚本,也可在 ...

  10. centos7 下搭建 hfish 2.1.0

    HFish是一款基于 Golang 开发的跨平台多功能主动攻击型蜜罐网络钓鱼平台框架系统,为了企业安全防护测试做出了精心的打造 HFish 开发的官网:https://hfish.io HFish地址 ...