實際上這裏有幾個問題。對於我所做的,我正在用Django 1.1和Google App Engine進行基本的圖片上傳。這裏是我的表單類:Google App Engine中的Django表單無法找到模塊PIL
class UploadPictureForm(forms.Form):
picture = forms.ImageField()
,然後提交,我有以下代碼:
def handle_picture(request):
form = UploadPictureForm(request.POST, request.FILES)
if form.is_valid():
save_picture(request.FILES['picture']
我得到以下錯誤:
Exception Type: ImportError
Exception Value: No module named PIL
Exception Location: /Library/Python/2.6/site-packages/django/forms/fields.py in clean, line 495
Python Executable: /usr/bin/python2.6
Python Version: 2.6.1
Python Path: [..., '/Library/Python/2.6/site-packages', '/Library/Python/2.6/site-packages/PIL']
和我已經安裝PIL在site-packages
目錄中,如果我從命令行運行python,我可以導入PIL與import PIL
SO問題#1是爲什麼這不起作用? GAE是否在做一些使其不起作用的事情?第二件事是我注意到GAE有一些Image API。我應該使用它們嗎?所有這些對我來說都有些新意。
這一切都有道理。我一直想切換到2.5,但還沒有機會。至於使用PIL,這是有道理的。我可以輕鬆使用Images API。令人驚訝的是,我得到一個模塊沒有找到錯誤。這裏的想法是,GAE只是忽略了它所知道的基於C的模塊?只是在這裏好奇,答案不是非常重要。 – Bialecki 2009-12-12 23:23:46
哇,有趣的故事!你甚至可以在Python的REPL中導入PIL?我已經通過easy_install安裝了PIL,但我不能!然後我從源和賓果重新編譯整個事情!它現在有效。 (在這兩種情況下'import Image'完美無缺)。 – 2009-12-13 01:52:26