4
我正在創建一個需要所有JSON響應的自定義結構的API。如何在Django Rest Framework中創建自定義JSON有效內容結構?
{
code: 200,
payload: [
{...},
{...},
{...}
]
}
其中包含查詢返回的所有項目。
我創建了一個自定義Renderer
,它擴展了JSONRenderer
,但是爲了訪問我需要訪問render_context
的響應代碼。
class VendorRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, render_context=None):
response = render_context['response']
data = {
'code': response.status_code,
'payload': data
}
return super(VendorRenderer, self).render(data, accepted_media_type, render_context)
這是可以做這種包裝的還是它應該發生在其他地方,如視圖集或延長Response對象正確的地方?
分頁有點令人沮喪,但我想我可以弄清楚如何將結構提取到結構中,因爲無論如何我們都在爲這種事情考慮一個「meta」字段。 – Soviut
我同意你的意見。我面臨類似的問題,並將分頁重定位到請求的標題。這是我的實施:https://dpaste.de/6swb –
謝謝,我已經添加您的片段的答案。 – Soviut