2013-04-02 13 views
19

Görüntüyü açabileceğim, üzerine yazabileceğim ve sonra kullanıcıya sunabilmem için ImageField mutlak yolunu Django görünümünde görüntülemeye çalışıyorum.Django: Görüntüyü Alın Get image url

Medya klasörüne kaydedilen görüntü için mutlak yol almakta sorun yaşıyorum.

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

ben item.image yolunu (The 'banner' attribute has no file associated with it.) sahip olmadığı, hatası alıyorum. item.image, ImageField'dır ve resim alanında kayıtlı görüntünün mutlak yolunun nasıl elde edileceğini bilmek isterim (Django görünümünde).

cevap

28

Doğru şekilde yapılandırıldığında, .url: item.image.url'u kullanın. Dokümanlar here’u kontrol edin.

+3

Ben .url kullanarak çalıştı ama .. o şablonları çalışır ancak görünümünde çalışmaz:/Belki – Byteme

+0

ben genişletilmiş hve gerçeği neden oluyor ImageField'ı BannerField'a aktar ... ama yaptığım her şey üzerine yazılmış temiz bir yöntem var. – Byteme

+0

@ user2225675 Görüntü dosyalarını nasıl yönetirsiniz? Görünüşe göre item.image'nin göreli dosyası eksik. Belki yüklemenin yanlış yapılandırılmasından kaynaklanıyordu ya da şablon ve görünümde farklı öğeleri deniyorsunuz? – okm

2

görüyoruz. (Görünümünde)

Örnek:

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