Как отобразить изображение из внешнего API как часть ответа в Django
У меня есть внешний API, который возвращает изображения, и для доступа к нему требуется закрытый ключ. Тип содержимого, который он возвращает, - 'image/jpeg'.
Я создаю API с помощью Django Rest Framework, который использует этот API. У меня также есть модель с некоторыми основными записями char, и я хочу возвращать как эти записи модели, так и изображение в ответе, с целью выполнения AJAX вызовов к нему в JS и отображения данных и изображения в HTML.
Я не совсем уверен, нужно ли мне использовать Django forms? или я могу просто сделать вызов API в обычном js файле, размещенном в моем проекте? Последнее было бы идеально, если бы я мог отправить изображение как часть ответа... но, конечно, я не хочу раскрывать ключ API, который является частью URL, по которому я делаю запрос для получения изображения. Я просто хочу загрузить изображение и отправить его в качестве ответа.
Вот текущий код, который я тестировал:
@api_view(['GET'])
def random_image(request):
response = requests.get('api url with secret key')
if request.method == 'GET':
return HttpResponse(response, content_type="image/jpeg")
Я могу получить ответ изображения и увидеть его, когда я делаю GET запрос к url в postman, однако в Chrome я получаю ошибку 500 сервера.
Просто изменить
HttpResponse(response, ...)
To
HttpResponse(response.content, ...)
Должен решить ваш вопрос, мой друг