2013-04-23 68 views
3

可以訪問easy_thumbs創建圖片的網址嗎?Django easy_thumbnails訪問圖片網址

我有一個模型與ImageFieldModelForm匹配。

# models.py 

class ModelWithAnImage(models.Model): 
    image = ThumbnailerImageField(
     upload_to='images', 
    ) 

documentation我在使用信號在圖片上傳時產生兩個拇指。

# somewherethatdefinitelygetsloaded.py 

from easy_thumbnails.signals import saved_file 
from easy_thumbnails.signal_handlers import generate_aliases_global 


saved_file.connect(generate_aliases_global) 

這工作正常,但是有可能然後訪問這些拇指的網址?

model_with_an_image.image.url返回原始圖像(如您所料)。

其目的是通過AJAX將拇指網址發送到外部源,因此{% thumbnail %}目前不會幫助我。

# requirements.txt 

Django==1.5.1 
Pillow==2.0.0 
boto==2.9.0 
django-storages==1.1.8 
easy-thumbnails==1.2 

回答

2

文檔指向thumbnail_url模板過濾器,它可以返回一個模板內的略圖的URL。

您可以從您的視圖調用模板過濾器像一個真正的函數(或其他地方),它應該只是細如在模板中,如:

from easy_thumbnails.templatetags.thumbnail import thumbnail_url 

thumbnail_url = thumbnail_url(model_with_an_image, 'small') 

在幕後,過濾器只是叫get_thumbnailer所以你也可以寫:

thumbnailer = get_thumbnailer(model_with_an_image) 
thumbnailer.generate = False # so a not generate a thumb if sthg went wrong 
thumbnail = thumbnailer.get_thumbnail(thumbnail_options) 
# do stuff with thumbnail.url 
+0

啊當然!錯過了,我甚至鏈接到文檔,n00b錯誤:-)謝謝。 – rockingskier 2013-04-24 09:24:50