Как подключить пользовательское хранилище к django
Я пишу пользовательский модуль хранения для использования удаленного seafile-сервера в качестве хранилища для установки django (django-cms).
Файл seafile.py
находится в папке проекта:
Класс хранилища был протестирован с помощью jupyter notebook и работает.
Проблема: Мне не удается подключить мое хранилище к django (локальное, сервер разработки), он по-прежнему сохраняет картинки локально в медиа-папке и не использует мое хранилище вообще.
В settings.py
from .seafile import MyStorage
...
То, что я пробовал:
DEFAULT_FILE_STORAGE = "MyStorage"
DEFAULT_FILE_STORAGE = "seafile.MyStorage"
DEFAULT_FILE_STORAGE = MyStorage
DEFAULT_FILE_STORAGE = MyStorage()
Для уверенности, я видел и пробовал предложенное решение (https://docs.djangoproject.com/en/5.1/howto/custom-file-storage/#use-your-custom-storage-engine), но тоже потерпел неудачу.
Что я упускаю? Заранее спасибо!
Благодаря двум изменениям пользовательское хранилище стало работать:
settings.py
STORAGES = {
"default": {
"BACKEND": "seafile.seafile.MyStorage",
"OPTIONS": {...},
},
"staticfiles": {
"BACKEND": "django.contrib.staticfiles.storage.StaticFilesStorage",
}
}
Важно: измените "seafile.MyStorage"
на "seafile.seafile.MyStorage"
, чтобы отразить "folder.file.class"