Python 如何让谷歌应用引擎支持django';这是图像场吗?
目前我正在开发一个django应用程序,它运行在google应用程序引擎的顶部。其中一个领域的模型看起来像Python 如何让谷歌应用引擎支持django';这是图像场吗?,python,django,google-app-engine,Python,Django,Google App Engine,目前我正在开发一个django应用程序,它运行在google应用程序引擎的顶部。其中一个领域的模型看起来像 picture = models.ImageField() 但它在保存特定模型时显示了以下错误 File "/django_projects/cityguide-backend/src/lib/django/db/models/fields/files.py", line 93, in save self.name = self.storage.save(name, cont
picture = models.ImageField()
但它在保存特定模型时显示了以下错误
File "/django_projects/cityguide-backend/src/lib/django/db/models/fields/files.py", line 93, in save
self.name = self.storage.save(name, content, max_length=self.field.max_length)
File "/django_projects/cityguide-backend/src/lib/django/core/files/storage.py", line 63, in save
name = self._save(name, content)
File "/django_projects/cityguide-backend/src/lib/django/core/files/storage.py", line 248, in _save
fd = os.open(full_path, flags, 0o666)
File "/google_appengine/google/appengine/tools/devappserver2/python/stubs.py", line 73, in fake_open
raise OSError(errno.EROFS, 'Read-only file system', filename)
OSError: [Errno 30] Read-only file system: u'/django_projects/backend/src/Screenshot_from_2014-04-18_190527.png'
经过一些研究,我发现。我想我需要使用GAE的
blobstore
或谷歌云存储。但我不知道如何将它们与django的模型集成。具体来说,django默认不支持App Engine的云存储或数据存储,需要自定义存储提供商来使用它们。以下是谷歌官方文档中涵盖的解决方案:
- 它支持应用程序引擎数据存储。另请参见云平台文档中的相关内容
- 如果您喜欢使用CloudSQL或外部MySQL数据库作为后端,可以根据使用django.db.backends.MySQL模块
- ,这是一个专门针对应用程序引擎数据存储的较新项目
- “”支持云存储
如果您想使用云存储实现自己的存储提供商,可以参考django appengine toolkit。我更新了答案。如果不想使用任何外部解决方案,则需要为Django编写自己的存储提供程序。您仍然可以使用这些项目中任何一个的源代码作为参考。