Django在Google App Engine上的FileField(或ImageField)

时间:2013-04-25 13:12:36

标签: django google-app-engine blobstore django-storage

GAE不允许读/写文件系统,这是Django的FileField(或ImageField)正在使用的(通过FileSystemStorage类)。

我在考虑实现自定义Django存储,但GAE blobstore似乎与Django要求完全不兼容。具体来说,GAE blobstore假设从客户端直接上传到商店,而Django自定义存储需要实现_save(名称,内容)方法。

据我所知,没有人提到这个缺失的实现。有一些自定义存储项目(最值得注意的是:BitBucket上的django-storages),S3,Windows Azure,几十个其他后端的实现,但谷歌没有。

我应该采取什么方向在我的模型中使用托管在Google App Engine上的FileField?

澄清: - 我使用了库存,主干,使用Google SDK附带的Google Cloud SQL Django的那个 - 我没有使用Django nonrel。 - 我已经关注了Google文档中的Django guide

1 个答案:

答案 0 :(得分:1)

blobstore现在支持编写文件功能。看到 writing file to the blobstore。因此,现在可以使用blobstore实现_save(name, content)

另一种方法是使用云存储。它提供了更多的功能,如listdir,open,delete而不是blobstore。

https://developers.google.com/appengine/docs/python/googlestorage/