使用Django、Google应用程序引擎上载图像时出错

使用Django、Google应用程序引擎上载图像时出错,django,google-app-engine,django-admin,Django,Google App Engine,Django Admin,我正在使用Django为Google应用程序引擎构建一个web应用程序,并带有库。我一直坚持通过管理员界面上传图像。我的models.py是: class Bio(models.Model): name = models.CharField(max_length=25) about = models.TextField() email = models.TextField() pic = models.ImageField(upload_to="img/bios/

我正在使用Django为Google应用程序引擎构建一个web应用程序,并带有库。我一直坚持通过管理员界面上传图像。我的
models.py
是:

class Bio(models.Model):
    name = models.CharField(max_length=25)
    about = models.TextField()
    email = models.TextField()
    pic = models.ImageField(upload_to="img/bios/", null=True, blank=True)
当我尝试在本地和appspot网站的默认管理界面中上载图像时,我得到:“ImportError:没有名为image的模块”

但是当我运行
manage.py shell
时,我能够成功地
导入图像
从PIL导入图像
,因此我不确定这里缺少什么。有什么想法吗?

说不支持ImageField

尝试上载到blobstore(请参阅)。这基本上使用了一个存储图像的中间处理程序,将blob键而不是文件交还给目标处理程序。

表示不支持ImageField


尝试上载到blobstore(请参阅)。这基本上使用了一个存储图像的中间处理程序,将一个blob密钥而不是一个文件返回给目标处理程序。

Django的ImageField使用PIL检查上传的文件是否确实是图像。问题是,最初AppEngine服务器上没有PIL,所以您必须使用AppEngine的

在谷歌搜索时,我发现了一个AppEngine的ImageField小部件,它使用google.AppEngine.api.images而不是PIL


不过,AppEngine现在似乎支持Python2.7上的PIL。因此,如果您要在AppEngine上开发Python 2.7应用程序,只需打开PIL支持,Django的ImageField就可以使用PIL检查上传的文件是否确实是图像。问题是,最初AppEngine服务器上没有PIL,所以您必须使用AppEngine的

在谷歌搜索时,我发现了一个AppEngine的ImageField小部件,它使用google.AppEngine.api.images而不是PIL


不过,AppEngine现在似乎支持Python2.7上的PIL。因此,如果您要在AppEngine上开发Python 2.7应用程序,只需打开对PIL的支持

PIL在AppEngine上不受支持(使用Python 2.5;它在2.7上工作)。Django的shell不强制应用程序引擎沙盒限制。应用程序引擎不支持PIL(使用Python 2.5;它在2.7上工作)。Django的shell没有强制执行应用程序引擎沙盒限制。我该怎么做呢?我可以使用默认的管理界面,还是需要以某种方式创建自定义类?我发现这解释了如何创建自定义表单页面,但我希望能够在my models.py中添加类似BlobField的内容(当前会出现错误)。我该怎么做?我可以使用默认的管理界面,还是需要以某种方式创建自定义类?我发现它解释了如何创建自定义表单页面,但我希望能够在my models.py中添加类似BlobField的内容(目前会出现错误)。