Как отправить JSON и изображения в качестве ответа Django? - PullRequest
0 голосов
/ 05 ноября 2019

В настоящее время я отправляю данные JSON с помощью Django rest API, теперь мне нужно добавить изображения к этим данным (60 изображений на запрос вместе с другими данными). Я подумал об использовании sendfile, но я не совсем уверен, чтоэто возможность вообще. Я искал другие варианты, но ничего не нашел.

@api_view(['GET'])
def get_data(request):
collage_list = []
try:
    for i in range(30):
        collage_list.append({"focal_brand":{"collage_id": 7,"brand_name":"name"})
except Exception as e:
   print(e)
   return JsonResponseNotFound()
return JsonResponse(status=200, data=dict(respone=collage_list)

Могу ли я отправить оба (данные JSON и файлы) вместе? Каков наилучший способ сделать это?

спасибо

1 Ответ

0 голосов
/ 05 ноября 2019

Лучшим подходом будет отправка URL-адресов изображений вместе с некоторыми метаданными для каждого (при необходимости), например:

images = [
    {
        'source': 'https://example.com/image/1.png',
        'brand_name': 'some brand',
        'foo': 'bar',
    },
    ...
    ...
]

return JsonResponse(status=200, data=dict(images=images))

Таким образом, ваш ответ не станет громоздким из-за передачи большихкусок двоичных данных. И клиент может получать изображения из URL-адресов по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...