Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django 在Google App Engine上使用Wagtail上载图像会导致OSError:[Errno 30]只读文件系统_Django_Google App Engine_Wagtail_Http Status Code 500 - Fatal编程技术网

Django 在Google App Engine上使用Wagtail上载图像会导致OSError:[Errno 30]只读文件系统

Django 在Google App Engine上使用Wagtail上载图像会导致OSError:[Errno 30]只读文件系统,django,google-app-engine,wagtail,http-status-code-500,Django,Google App Engine,Wagtail,Http Status Code 500,我正在尝试使用mySQL的云实例在Google Cloud App Engine标准环境中运行wagtail站点。我遵循了此处提供的文档: 除了用户上传图像外,几乎所有东西都正常工作。当用户将映像上载到部署的站点时,会向用户报告一个500错误,错误日志显示“OSError:[Errno 30]只读文件系统” 当我使用云SQL代理在本地运行站点时,不会发生此错误,并且我可以很好地上传图像 您能告诉我为什么会发生这种情况,以及如何更改以避免部署中出现这种错误吗 提前谢谢你 您正在尝试将文件上载到文件

我正在尝试使用mySQL的云实例在Google Cloud App Engine标准环境中运行wagtail站点。我遵循了此处提供的文档:

除了用户上传图像外,几乎所有东西都正常工作。当用户将映像上载到部署的站点时,会向用户报告一个500错误,错误日志显示“OSError:[Errno 30]只读文件系统”

当我使用云SQL代理在本地运行站点时,不会发生此错误,并且我可以很好地上传图像

您能告诉我为什么会发生这种情况,以及如何更改以避免部署中出现这种错误吗


提前谢谢你

您正在尝试将文件上载到文件系统(与部署应用程序的目录相同)。App Engine不支持这一点,因为当您的应用程序扩展到新实例时,这些文件将不会被复制,因此,如果应用程序依赖于此,它将开始失败,因此此行为可确保应用程序的安全性和可伸缩性

有两种方法可以解决这个问题,正如你所看到的,我在一个与你面临的问题类似的问题上提供了这一点:

  • 开始使用不同的目录来存储它,比如/tmp——使用这种方法,您还将面临前面提到的扩展问题,但是对于临时文件,它将满足您的需要
  • 使用云存储桶存储可供所有实例使用的持久文件。这是缩放应用程序的理想解决方案

您可以通过以下操作找到有关如何创建此应用程序的更多详细信息,并可以获得如何从Python应用程序将文件上载到云存储的示例。

您正在尝试将文件上载到文件系统(与部署应用程序的目录相同)。App Engine不支持这一点,因为当您的应用程序扩展到新实例时,这些文件将不会被复制,因此,如果应用程序依赖于此,它将开始失败,因此此行为可确保应用程序的安全性和可伸缩性

有两种方法可以解决这个问题,正如你所看到的,我在一个与你面临的问题类似的问题上提供了这一点:

  • 开始使用不同的目录来存储它,比如/tmp——使用这种方法,您还将面临前面提到的扩展问题,但是对于临时文件,它将满足您的需要
  • 使用云存储桶存储可供所有实例使用的持久文件。这是缩放应用程序的理想解决方案

您可以通过以下内容找到有关如何创建此应用程序的更多详细信息,并可以获得一个关于如何从Python应用程序将文件上载到云存储的示例。

谢谢!我能够通过使用两个云存储桶(静态和媒体)和切换到google cloud flexible app engine环境来解决这个问题。然而,我仍然在访问上传到我的谷歌云存储桶的图像时遇到问题。我使用了这个Django存储教程,现在它全部工作:为了解决这个问题,知道你能够解决这个问题@ AlthHunsDeaveDebug,如果你觉得它有用的话,请考虑一下我提供的答案。同时也要考虑添加一个你自己的补充的描述你所做的事情来修复它并接受它,这样社区中的其他人就能够很容易地找到解决方案,这也会帮助你提高自己在堆栈溢出上的声誉。我能够通过使用两个云存储桶(静态和媒体)和切换到google cloud flexible app engine环境来解决这个问题。然而,我仍然在访问上传到我的谷歌云存储桶的图像时遇到问题。我使用了这个Django存储教程,现在它全部工作:为了解决这个问题,知道你能够解决这个问题@ AlthHunsDeaveDebug,如果你觉得它有用的话,请考虑一下我提供的答案。同时也要考虑添加一个你自己的补充说明来修复和接受它,这样社区中的其他人就能够很容易地找到解决方案,这也会帮助你提高自己在堆栈溢出上的声誉。