Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django uploading file not in MEDIA_ROOT path is giving me SuspiciousOperation error

I want to upload files to a path that is still in my django project, but in my MEDIA_ROOT path.

When I try to do this I get a SuspiciousOperation error.

Here are the paths as defined in my settings file:

MEDIA_ROOT = os.path.join(os.path.dirname( __file__ ), 'static_serve')
UPLOAD_DIR = os.path.join(os.path.dirname( __file__ ), 'uploads')

I'm doing this because I don't want the files I am uploading to be accessible via the browser and my MEDIA_ROOT path is.

Does anyone have any idea how I get around (fix) this error.

like image 467
imns Avatar asked Sep 02 '10 23:09

imns


1 Answers

Yes there is a way:

From docs:

For example, the following code will store uploaded files under /media/photos regardless of what your MEDIA_ROOT setting is:

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)
like image 195
Davor Lucic Avatar answered Oct 22 '22 06:10

Davor Lucic