Django MEDIA_ROOT указал на сетевой диск

Я пытаюсь загрузить файлы, загруженные через административный сайт Django, для размещения на сетевом диске. Допустим, путь к этому диску — «\\FILESERVER\Django».

Моя первоначальная мысль состояла в том, чтобы просто установить мой корень носителя на тот же путь, который я использовал бы для доступа к диску через проводник:

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

Пример модели:

#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

Но когда я загружаю файл, он просто создает папку на моем локальном диске C:. (например, C:\FILESERVER\Django\articles). Есть ли способ сказать Django, что это должен быть путь к сетевому диску?

Примечание. Это приложение Django 2.0.4, работающее на компьютере с Windows.


person azucarrogers    schedule 15.10.2018    source источник
comment
Вы пробовали указать на внутренний IP-адрес сетевого диска? Вот как его найти.   -  person pazitos10    schedule 16.10.2018


Ответы (2)


Я считаю, что то, что вы ищете, находится в pathlib. Посмотрите здесь:

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

Что-то вроде PureWindowsPath('//FILESERVER/Django').drive должно подойти для MEDIA_ROOT, IIRC.

person FlipperPA    schedule 16.10.2018
comment
Именно то, что мне было нужно, Спасибо! - person azucarrogers; 16.10.2018
comment
Как вы загружаете файлы после загрузки на сетевой диск с помощью django ?? - person duddu venkatesh; 27.08.2020

Если вы используете сетевой файловый сервер, вам может понадобиться настраиваемый класс хранения файлов django.

person Hayden    schedule 16.10.2018