Django pillow загрузка нескольких изображений происходит медленно

Я получаю изображения из api и рендерингую их в приложении django. Загрузка изображений таким способом очень медленная.

тег шаблона

def url(id):
    url = f'http://api.com/image?id={id}'
    response = requests.get(url)
    img = Image.open(BytesIO(response.content))
    data = BytesIO()
    img.save(data, "PNG")
    data.seek(0)
    encoded_img_data = base64.b64encode(data.getvalue())
    return encoded_img_data.decode('utf-8')

html

<img src="data:image/png;base64,{{row.image_md5|url}}" />

это работает, но загрузка изображения занимает 1 секунду. Есть ли способ загрузить все изображения быстрее таким образом?

Вы проверили, что является узким местом? Может быть, API просто очень медленный.

Вы можете засечь время, например, так:

import time
start_time = time.time()
url = f'http://api.com/image?id={id}'
response = requests.get(url)
end_time = time.time() - start_time
print(end_time)
Вернуться на верх