作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了我的自定义渲染器,如下所示:
from rest_framework.renderers import JSONRenderer
class CustomJSONRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
//I am hardcoding status and message for now. Which I have to update according to the response.
data = {'data': data, 'message':'ok', 'status':200 }
return super(CustomJSONRenderer, self).render(data, accepted_media_type, renderer_context)
这工作得很好。现在我想使用响应的 HTTP 状态代码更新状态,从而提供自定义消息。那么我应该如何实现这一目标呢?
基本上我想要这样的回应:
{"status":200, "data":[实际数据在此。], "message":"ok"}
最佳答案
另外,我发现我们可以获取状态
信息。 renderer_context
参数实际上包含以下信息 -
{'view': <ViewSet object at 0x7ff3dcc3fac0>, 'args': (), 'kwargs': {}, 'request': <rest_framework.request.Request object at 0x7ff3dcc37e20>, 'response': <Response status_code=400, "application/json; charset=utf-8">}
这意味着 renderer_context
参数是一个字典,可以用来修改您的响应。例如-
def render(self, data, accepted_media_type=None, renderer_context=None):
if renderer_context is not None:
print(renderer_context['response'].status_code)
关于django - 在 Django Rest 框架渲染器类中获取响应状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35501961/
我刚开始使用 Dagger 2,想知道与我目前用来实现依赖注入(inject)的技术相比,它有什么优势。 目前,为了实现 DI,我创建了一个具有两种风格的项目:mock 和 prod。在这些风格中,我
我是一名优秀的程序员,十分优秀!