2011-11-21 199 views
1

我知道過去有人問過關於縮略圖的問題,但我似乎無法找到與我想要做的事完全吻合的答案。創建縮略圖

我有一個模型有一個ImageField與相關的ModelForm。提交此表單時,我想爲該圖像創建幾個不同的縮略圖(給他們獨特的名稱,以便我可以稍後在我的模板中調用它們)並保存原始圖像。我該如何去做呢?

我正在使用PIL,並將執行一些自定義圖像操作,因此使用簡單創建縮略圖的庫將不太適合。

+0

感謝您對sorl和easy_thumbnail的建議,但是有太多的魔法在我看來,我只是不明白。我很樂意自己做這一切。任何提示呢? –

+0

然後跳過easy_thumbnails並直接使用Pil和芹菜。如果芹菜太神奇了,您應該使用保存方式處理您的圖像或使用post_save信號。 – arie

回答

2

您可以使用sorl.thumbnail產生縮圖模板這樣的:

{% thumbnail item.image "100x100" crop="center" as im %} 
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"> 
{% endthumbnail %} 

這比在許多不同的方式產生on save更好:

  • 您可以移動到新的服務器無需移動縮略圖(sorl.thumbnail會重新生成它們)
  • 您可以輕鬆更改縮略圖大小(只需更改模板中的參數,它就會神奇地發生)
  • 縮略圖大小被保存在應該在的位置(在模板中)
  • 你可以在不同的模板中有不同的大小(例如,移動模板)

http://thumbnail.sorl.net/