实际上这里有几个问题。对于我所做的,我正在用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