Учитывая конечную точку с одним рендерером:
class PNGRenderer(BaseRenderer):
media_type = 'image/png'
format = 'png'
def render(self, data, media_type=None, renderer_context=None):
return data
@renderer_classes((PNGRenderer, ))
def some_endpoint(request, format=None):
filename = 'foo.png'
if not os.path.exists(filename):
raise NotFound("File not found")
else:
with open(filename, 'rb') as f:
data = f.read()
return response(data)
Я хотел бы вернуть application/json
, если foo.png
не найден. В реальной жизни filename
не постоянно "foo.png"
, но динамично, очевидно.
Как я могу вернуть json так, чтобы Content-Type
был правильно установлен в ответ application/json
, даже если format = 'png' был предоставлен конечной точке.