Google Cloud - Django - OSError: [Errno 30] Файловая система только для чтения
Я развернул свой проект django на облаке google. Один из модулей моего приложения включает загрузку файлов. Когда я загружаю файлы на локальный сервер, файлы успешно загружаются, но когда я пытаюсь загрузить файлы с производственного сервера, он выдает следующую ошибку:
OSError at /uploadrecords [Errno 30] Файловая система только для чтения: '/workspace/media/test.pdf'
Ниже приведен мой код для загрузки файлов и настройки:
#views.py
image = request.FILES['filerecord']
fs = FileSystemStorage()
filename = fs.save(image.name, image)
obj.upfile = fs.url(filename)
obj.save()
#setting.py
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
#MEDIA_ROOT = BASE_DIR / "media"
Пожалуйста, предложите мне решение
Я предполагаю, что вы используете стандартный App Engine.
Файловая система размещаемых приложений ограничена:
https://cloud.google.com/appengine/docs/standard/python3/using-temp-files
Вы можете использовать /tmp
для временного хранения загрузок.
Вы можете рассмотреть, например, Google Cloud Storage для постоянного хранения файлов.