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添加头部信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端