2017-02-26 22 views
0

使用鶺鴒圖片的標籤的workarround我以下的問題: 在我的models.py我使用的是鶺鴒圖片是這樣的:是否有在views.py

class ArtWork(models.Model): 
    image = models.ForeignKey(
      'wagtailimages.Image', 
      on_delete=models.CASCADE, 
      related_name='+' 
     ) 
    ... 
    ... 
    ... 

我知道我可以現在用在我的模板的形象是這樣的:

{% image artwork.image height-100 %} 

但對於我目前的項目,我需要使用圖片標籤在我的views.py,因爲我想產生它的PDF文件。

使用artwork.image,影像將返回的只是標題簡單,但我需要這樣的:

<img alt="SomeName" src="/media/images/SomeName_155x200.max-1200x1200_22b3pND.height-100.jpg" width="77" height="100"> 

而且artwork.image.url沒有給出結果。 如何在模板外使用W Images圖像?

問候

回答

4

如果你需要得到再現(縮略圖)的網址,你可以做到以下幾點:

artwork_page_object.image.get_rendition('height-100').url 

或訪問移交文件:

artwork_page_object.image.get_rendition('height-100').file 

相反的height-100你可以使用任何image模板標籤(請參閱the documentation for the image標籤)的有效大小調整方法

如果要訪問原始圖像,可以這樣做:

artwork_page_object.image.file 

有用文檔:

+1

的get_rendition()方法是直到一週前沒有記錄 - 我只是提供了新的官方文件對此的認識:http://docs.wagtail.io/en/latest/advanced_topics/images/renditions.html – shacker

+1

謝謝,@shacker。我已將您的鏈接添加到答案中。 – m1kola

1

模板標籤只是功能,你可以找到的代碼on github。圖像標籤依賴於型號FilterRendition

我建議您閱讀該代碼以瞭解其工作原理,然後在您的視圖中使用它。