Подтвердить что ты не робот

Django: получить URL-адрес ImageField

Я пытаюсь получить абсолютный путь ImageField в представлении Django, чтобы я мог открыть изображение, написать на нем что-то, а затем передать его пользователю.

У меня проблема с получением абсолютного пути для изображения, которое сохраняется в папке с носителями.

item = get_object_or_404(Item, pk=pk)
absolute_url = settings.MEDIA_ROOT + str(item.image.path)

Я получаю ошибку, что item.image не имеет пути (The 'banner' attribute has no file associated with it.). item.image - это ImageField, и я хотел бы знать, как получить абсолютный путь изображения, сохраненного в поле изображения (в представлении Django).

4b9b3361

Ответ 1

При правильной настройке используйте .url: item.image.url. Проверьте документы здесь.

Ответ 3

Я только что понял, в чем проблема... абсолютный путь изображения сохраняется в переменной файла.

Пример (в представлении):

item = Item.objects.get(pk=1)
print item.file # prints out full path of image (saved in media folder)