azucarrogers
azucarrogers

Reputation: 335

Django MEDIA_ROOT pointed to network drive

I'm trying to get files uploaded through the Django admin site to be placed on a network drive. Lets say the path to this drive is '\\FILESERVER\Django'.

My initial thought was to just set my media root to the same path I'd use to access the drive via File Explorer:

#settings.py
MEDIA_ROOT = r'\\FILESERVER\Django'

An Example Model:

#models.py
class Article(models.Model):
    title = models.CharField(max_length=128)
    pdf = models.FileField(upload_to='articles', blank=True, null=True)

    def __str__(self):
        return self.title

But when I upload a file, It just creates the folder on my local C: drive. (e.g. C:\FILESERVER\Django\articles). Is there a way I can tell Django that this is supposed to be a path to a network drive?

Note: This is a Django 2.0.4 app running on a windows machine.

Upvotes: 2

Views: 2656

Answers (2)

Hayden
Hayden

Reputation: 459

If you use a network file server,you may need a customized django file storage class.

Upvotes: 0

FlipperPA
FlipperPA

Reputation: 14311

I believe what you're looking for is in pathlib. Have a look here:

https://docs.python.org/3/library/pathlib.html#methods-and-properties

Something like PureWindowsPath('//FILESERVER/Django').drive should do the trick for MEDIA_ROOT, IIRC.

Upvotes: 3

Related Questions