Загрузка файла 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)