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 view)内)。
正しく構成されたら、.url
:item.image.url
を使用します。ドキュメントを確認してください こちら 。
たぶんこのように?
@property
def get_absolute_image_url(self):
return "{0}{1}".format(settings.MEDIA_URL, self.image.url)
どうすればDjango QuerySet? から絶対画像URLのリストを取得できますか?
私はちょうど問題が何であるかを見つけました...絶対画像パスはファイル変数に保存されます。
例(ビュー内):
item = Item.objects.get(pk=1)
print item.file # prints out full path of image (saved in media folder)