我正在尝试在我的 Django 应用程序中为模型实现 ImageField。该应用程序在 Google App Engine 上运行。但是在上传(本地机器,使用 GAE SDK 1.7.7)时,我得到一个[Errno 78] Function not implemented.
错误源于对os.makedirs()in的调用django.core.files.storage.FileSystemStorage._save();调用的参数makedirs是:
u'/Users/.../PycharmProjects/myproject/media/uploaded
我的MEDIA_ROOT条目SETTINGS.PY包含:
/Users/.../PycharmProjects/myproject/media/
我的MEDIA_URL条目SETTINGS.PY包含:
/media/
媒体目录包含一个名为“uploaded”的子目录。我检查了权限,他们需要读/写访问权限。
我的 ImageField 的字段定义是:
image = models.ImageField(upload_to = "uploaded/"
出于某种原因,Django 想要创建已经存在的目录。使用 Django 控制台os.path.exists(u'path/to/media/upload')返回 True (这是正确的),所以我不明白 Django 为什么要创建目录。
此外,我使用 Google Cloud SQL 进行存储,并安装了 PILLOW 进行图像处理。我还在我的app.yaml.
我可能错过了一些基本的东西,但目前对导致这种情况的原因一无所知......