2013-04-25 2 views
1

GAE не разрешает чтение/запись в файловую систему, что использует FileField (или ImageField) Django (через класс FileSystemStorage).FileField Django (или ImageField) в Google App Engine

Я думал о внедрении пользовательского хранилища Django, но устройство BLOB-памяти GAE кажется полностью несовместимым с требованиями Django. В частности, GAE blobstore предполагает непосредственную загрузку с клиента для хранения, тогда как для пользовательского хранилища Django необходимо реализовать метод _save (имя, содержимое).

Насколько я вижу, никто не ссылается на эту недостающую реализацию. Существуют некоторые специализированные проекты хранения (в частности: django-хранилища на BitBucket), с реализациями для S3, Windows Azure, десятками других бэкэнд, но ничего для Google.

В каком направлении следует использовать FileField в моей модели, размещенной в Google App Engine?

Чтобы уточнить: - Я использую для хранения сундук, который использует Google Cloud SQL Django, который поставляется с Google SDK - я не использую Django nonrel. - Я следил за Django guide из документации Google.

ответ

1

blobstore теперь поддерживает функцию записи файлов. см. writing file to the blobstore. Поэтому теперь можно реализовать _save(name, content) с blobstore.

Другой способ - использовать облачное хранилище. он предоставляет больше функций, таких как listdir, open, delete, чем blobstore.

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

Смежные вопросы