Загрузка файла Django не по пути MEDIA_ROOT приводит к ошибке SuspiciousOperation
Я хочу загрузить файлы по пути, который все еще находится в моем проекте django, но в моем MEDIA_ROOT
дорожка.
Когда я пытаюсь сделать это, я получаю SuspiciousOperation
ошибка.
Вот пути, определенные в моем файле настроек:
MEDIA_ROOT = os.path.join(os.path.dirname( __file__ ), 'static_serve')
UPLOAD_DIR = os.path.join(os.path.dirname( __file__ ), 'uploads')
Я делаю это потому, что не хочу, чтобы загружаемые файлы были доступны через браузер и мой MEDIA_ROOT
путь есть.
Кто-нибудь есть идеи, как я обойти (исправить) эту ошибку.
1 ответ
Решение
Да есть способ
Из документов:
Например, следующий код будет хранить загруженные файлы в /media/photos независимо от того, какой у вас параметр MEDIA_ROOT:
from django.db import models
from django.core.files.storage import FileSystemStorage
fs = FileSystemStorage(location='/media/photos')
class Car(models.Model):
...
photo = models.ImageField(storage=fs)