Пользовательский путь хранения файлов в Django - PullRequest
0 голосов
/ 23 июля 2011

Я хотел бы динамически установить путь к хранилищу файлов из представления независимо от фактического пути media_root. Это возможно. Я изучил пользовательские объекты хранения и знаю о вызове пользовательского метода upload_to. В настоящее время у меня есть метод, который вызывается, когда указана моя модель ImageField upload_to. это позволяет мне изменить каталог в media_root. Я пытался сделать что-то подобное с переопределенным классом FileSystemStorage, но независимо от того, что он установлен, я думаю, что он связан, прежде чем я смогу изменить его в представлении. если обработчик fileupload - это путь, мне было бы интересно узнать, как его реализовать.

Ответы [ 2 ]

1 голос
/ 24 июля 2011

вы можете сделать это по вашему мнению path = default_storage.save(filePath, ContentFile(file)) где filePath - это путь к файлу, в котором вам нужно сохранить, а file - это файл, который загружен пользователем. эта функция вернет вам путь, сохранив файл.

file = request.FILES['filee']
filePath = '%s/%s' % ('path/to/directory', file.name)
file = file.read()
path = default_storage.save(filePath, ContentFile(file))
1 голос
/ 24 июля 2011

Если путь, указанный вами в upload_to, начинается с /, то он будет считаться абсолютным путем.С помощью этого вы можете установить любой путь, который вы хотите, независимо от MEDIA_ROOT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...