12

我安裝Pillow現在想用我的Django的網站,讓圖像的上傳通過我的管理頁面。見前面的question如何使用枕頭Django的

我需要什麼樣的變化在我的設置文件或其他地方的Django認識到枕頭,並允許的ImageField正確上傳圖像,使其?

+0

感謝那個枕頭的信息,因爲我現在知道爲什麼我的老闆不使用PIL,因爲他用枕頭比PIL – catherine 2013-02-26 02:17:50

+0

正如我在我的代碼,只要發現你PIP安裝枕頭,你不必更改設置文件或其他地方。現在,您可以讓上傳圖片 – catherine 2013-02-26 02:20:26

+0

@catherine使用PIP我沒有安裝它,我只是通過運行蟒蛇的setup.py從下載在上面的鏈接 – zpesk 2013-02-26 02:45:55

回答

0

您不應該在您的settings.py任何修改或以其他方式使用枕頭,而不是PIL。它是一個簡單的替代品,只需要在您的PYTHONPATH上提供即可。

+0

我沒有爲PIL配置我的settings.py文件...所以我該怎麼做? – zpesk 2013-02-26 02:48:53

+0

您不必進行任何設置更改。它只需要在PYTHONPATH上可用。我將編輯我的答案以反映這一點。 – Brandon 2013-02-26 02:51:24

+0

我如何確保它在PYTHONPATH上可用? – zpesk 2013-02-26 02:53:58

14

問題是,現在進口工作與枕頭和PIL略有不同。不同,此處描述:http://pillow.readthedocs.org/en/latest/porting-pil-to-pillow.html

的Django現在也被改爲更喜歡枕在PIL,通過這張票(https://code.djangoproject.com/ticket/19934

這個提交出現在新的Django的1.6a1版本,所以新的行爲會出現在Django 1.6版本中。然而,現在看來,您可以使用一個名爲Pillow-PIL的新庫(最初於2013年5月20日發佈),它將提供兼容性層。 pip install --pre Pillow-PIL

+0

我在Django 1.5.1上使用buildout。這像一個魅力,現在我所有的圖像都知道它們有多大。謝謝 – Dan 2013-06-24 21:47:41

+0

我試圖用Django教程來做Tango,它使用了django 1.5。我正在使用virtualenvwrapper。我用pip安裝枕頭。點擊凍結顯示:Django == 1.5.5枕頭== 2.4.0南== 0.8.4 wsgiref == 0.1.2。但是,在第8章中,我得到以下錯誤:(tangowithdjango)〜/ dev_django_projects/tangowithdjango $ ./manage.py syncdb * CommandError:一個或多個模型未驗證:rango.userprofile:「picture」:要使用ImageField,您需要安裝Python Imaging Library ... – 7stud 2014-05-02 22:06:27

+0

@ 7stud如果您使用的是Django 1.5.5,您將需要安裝Pillow-PIL still(pip install Pillow-PIL)。如果你想消除這種依賴性,那麼升級到Django 1.6.x或即將發佈的1.7版本。 – 2014-06-01 20:42:57

2

在一個Python模塊,使繪圖我簡單地說:這可以通過PIP很容易地安裝。

import PIL.Image as Image 

對於ImageDraw和ImageFont同樣如此。這些是常規PIP安裝後唯一必要的更改。

2

首先,安裝枕(有virtualenv中最好激活)與:

pip install pillow 

你應該在Django項目導入:

from PIL import Image 

之後,你不需要更改設置或任何東西其他。所有的模塊應該工作。