http与请求响应

  • drf在django的原有基础上新增了一个request对象集成daol到了APIView类中,在原有的HttpResponse响应类上实现子类rest_framework.response.Response
  • 都是基于内容协商完成数据格式转换
  •  

     

  •  

     

     

     

     

     

  • request的常用操作
  • 获取请求参数 可以通过request.GET获取GET请求的参数,
    request.POST获取POST请求的参数,
    request.FILES获取文件上传请求的文件,
    request.data获取请求的数据,
    request.query_params获取所有请求参数的字典
    。获取请求头 可以通过request.META获取请求头信息,比如获取User-Agent,可以使用 request.META.get('HTTP_USER AGENT')。
    获取请求方法 可以使用request.method获取请求的方法,比如GET、POST等。
    获取请求路径 可以使用request.path获取请求的路径。
    获取请求IP地址 可以使用request.META.get('REMOTE_ADDR')获取请求的IP地址。
    获取请求用户 可以通过request.user获取请求用户的信息,如用户名、ID等。
    获取请求的URL 可以使用request.build absolute uri()获取请求的完整URL。
    获取请求的Referer 可以使用request.META.qet('HTTP REFERER')获取请求的Referer信息。
    获取请求的Session 可以使用request.session获取请求的Session信息,
    获取请求的Cookie 可以使用request.COOKIES获取请求携带的Cookie信息。

  • Response的常用
  • 状态码,使用rest_framework中的status模块
  • data:返还数据信息
  • header:头部信息
  • content_type:返回格式类型(一般不用)
  •     def get(self, request):
            print(f"request={request}")
            # 常用响应状态码
            # drf中的Response是django的HTTPResponse的子类
            return Response({"msg": "ok"}, status=status.HTTP_401_UNAUTHORIZED,
                            # content_type="application/json"纯html文本
                            content_type="text/html",  # 渲染出来的调试太页面
                            headers={"company": "astro"})  # 给header添加头部信息

     

 

posted @   Hide_凉辰  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示