当前位置: 首页> 教育> 就业 > 如何用微信小程序开店_网页素材怎么复制_企业官方网站推广_京东关键词优化技巧

如何用微信小程序开店_网页素材怎么复制_企业官方网站推广_京东关键词优化技巧

时间:2025/7/11 15:14:43来源:https://blog.csdn.net/sishihao/article/details/142659940 浏览次数:0次
如何用微信小程序开店_网页素材怎么复制_企业官方网站推广_京东关键词优化技巧

系列文章目录

第三章 请求和响应


文章目录

  • 系列文章目录
    • Request和Response对象:
    • Response对象:
    • 实现APIView:


Request和Response对象:

在drf中,可以使用Request和Response对象来替代django内置的HttpRequest和HttpResponse。替代django的对象有很多好处。以下进行简单讲解。
Request对象:
DRF的Request对象是从HttpRequest中拓展出来的,但是增加了一些其他的属性。其中最核心的用得最多的属性便是request.data。request.data比request.POST更加灵活:

  1. request.POST:只能处理表单数据,获取通过POST方式上传上来的数据。
  2. request.data:可以处理任意的数据。可以获取通过POST、PUT、PATCH等方式上传上来的数据。
  3. request.query_params:查询参数。比request.GET更用起来更直白。

Response对象:

Response可以自动的根据返回的数据类型来决定返回什么样的格式。并且会自动的监听如果是浏览器访问,那么会返回这个路由的信息。
状态码:
在Restful API中,响应的状态码是很重要的一部分。比如请求成功是200,参数错误是400等。但是具体某个状态码是干什么的,django是没有做过多的解释(这也不是django所需要解决的问题,因为他只是个web框架),对于一些初学者而言用起来会有点迷糊。这时候我们可以使用DRF提供的状态码。比如:
from rest_framework.response import Response
from rest_framework import status

@api_view([‘GET’,‘POST’,‘PUT’,‘DELETE’])
def merchant(request):
return Response({“username”:“zhiliao”},status=status.HTTP_200_OK)

实现APIView:

以上的Respone和Request对象都只能在DRF的APIView中才能使用。如果是视图函数,那么可以使用装饰器rest_framework.decorators.api_view进行装饰,这个装饰器中可以传递本视图函数可以使用什么method进行请求。示例代码如下:

@api_view(['GET', 'PUT', 'DELETE'])
def snippet_detail(request, pk):"""Retrieve, update or delete a code snippet."""try:snippet = Snippet.objects.get(pk=pk)except Snippet.DoesNotExist:return Response(status=status.HTTP_404_NOT_FOUND)if request.method == 'GET':serializer = SnippetSerializer(snippet)return Response(serializer.data)elif request.method == 'PUT':serializer = SnippetSerializer(snippet, data=request.data)if serializer.is_valid():serializer.save()return Response(serializer.data)return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)elif request.method == 'DELETE':snippet.delete()return Response(status=status.HTTP_204_NO_CONTENT)

如果是类视图,那么可以让你的类继承自rest_framework.views.APIView。示例代码如下:

from rest_framework.views import APIViewclass MerchantView(APIView):def get(self,request):return Response("你好")

关键字:如何用微信小程序开店_网页素材怎么复制_企业官方网站推广_京东关键词优化技巧

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: