Перенаправление url изображений Django
Есть ли способ перенаправить URL изображения через представления, чтобы Django не приходилось обслуживать изображение напрямую? Подоплека моих вопросов связана с отслеживанием изображений, которое по очевидным причинам требует обращения к серверу Django.
Например, у меня есть веб-страница, скажем, <img src="https://mydjangoserver.com/image-url/image.jpg">
Который передается в views, где src url перенаправляется, скажем, на https://my-nginx-server.com/image.jpg и изображение загружается в исходную html-страницу.
Я видел код для принудительной загрузки файла с помощью X-Accel-Redirect, но я не могу заставить его работать.
Вот представление, с которым я играл, но безуспешно:
def image_url(request):
file_name = 'image.jpg'
path_to_file = 'https://my-nginx-server.com/'
response = HttpResponse(content_type="image/jpg")
response['Content-Disposition'] = f'inline; filename={smart_str(file_name)}' %
response['X-Accel-Redirect'] = smart_str(path_to_file)
return response
Любой совет о том, как перенаправить url изображения, будет очень признателен.
Ответ, как оказалось, был прост:
def image_redirect(request, image):
return redirect(f'https://my-nginx-server.com/{image}')
Спасибо @Tim Schilling better-simple.com за помощь.