Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何让谷歌应用引擎支持django';这是图像场吗?_Python_Django_Google App Engine - Fatal编程技术网

Python 如何让谷歌应用引擎支持django';这是图像场吗?

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

目前我正在开发一个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, 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编写自己的存储提供程序。您仍然可以使用这些项目中任何一个的源代码作为参考。