Загрузка файла 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)
Другие вопросы по тегам