Загрузка файла Django не по пути MEDIA_ROOT приводит к ошибке SuspiciousOperation - PullRequest
13 голосов
/ 03 сентября 2010

Я хочу загрузить файлы по пути, который все еще находится в моем проекте 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 path is.

Кто-нибудь знает, как мне обойти (исправить) эту ошибку.

1 Ответ

27 голосов
/ 03 сентября 2010

Да есть способ :

Из документов:

Например, следующий код будет хранить загруженные файлы в / СМИ / фотографии независимо от того, что ваш Значение 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...