Django 请求和响应(三)

一、请求方式分类

 1、 请求体参数有3种:
      1)   form表单传参数 (get/post)
      2)   json格式参数({'id':1001,'name':'mike'}
      3)  上传文件参数 (只能是post方式)

 2、请求路径带参数2种格式:

       1) /weather/hz/20210622

       2) /find/?name=mike&pwd=89933

 

二、响应方式分类

   1、HttpResponse()

         导包:  from django.http import HttpResponse

         视图在接收请求并处理后,必须返回HttpResponse对象或子对象。HttpRequest对象由Django创建,HttpResponse对象由开发人员创建

    2、JsonResponse: 

          导包:   from django.http import JsonResponse

           返回json数据,可以使用JsonResponse来构造响应对象;

            作用:
                 (1)将数据转换为json字符串
                 (2)设置响应头Content-Type为 application/json

 

三、请求应用

默认表单提交是get方式

   案例1:请求时有参数: /weather/hz/20210622

  books.view

books.urls

 

运行:http://127.0.0.1:8000/weather/hz/20210622

案例2、请求时带有参数: /find/?name=mike&pwd=89933

如果是多个值时,使用getlist(),显示数据

 

表单提交是post方式

案例3:修改案例2的使用post提交

使用postman测试数据

post请求:发生异常!

原因:

按照restful接口风格,新建资源的接口请求方式应为post,结果发了post请求给django之后,报了个403forbidden。

解决: 在setting.py文件中注释:'django.middleware.csrf.CsrfViewMiddleware',

这个中间件是为了防止跨站请求伪造的,平时用网页表单请求时,post提交是没有问题的,但是用api调用时就会被禁止,为了能使用接口调用post请求,就只能停用该插件了。

再次运行:

 

非表单类型

案例4:json数据

 

 

编写代码:

 

案例5:上传文件

   (1) 单个图片文件 

  在根目录下创建文件目录media;主要存放上传图片

 

在settings中配置路径:

获取单个数据也可以使用:file = request.FILES.get('pic')

 

 

(2) 多个图片文件 

调试

运行:

 

四、响应应用

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值