2017-01-20 11 views
0

Я оказался в ситуации, когда клиент спросил, можем ли мы обслуживать файлы в веб-приложении, если он захочет загрузить их. Вместо этого он хочет сбросить файлы в локальном каталоге. Скажем, в '/ Desktop/myfiles /'.Извлечение файлов из локального каталога в django

Вопрос №1 = Возможно ли переписать все файлы из локального каталога? Вопрос # 2 = Если я могу получить файлы из локального каталога, как я могу сохранить путь file_path для его сохранения в поле FileField в mymodel? Поэтому, когда я пишу Mymodel.objects.all(), я получаю все файлы!

PS: Конечно, я не знаю имена файлов заранее. Это будет бонус!

Любые идеи?

ответ

0

Мне удалось вытащить файлы из локального каталога с помощью скрипта Sql с LOAD LOCAL INFILE и обновить поля после вставки. Чтобы получить/выровнять правильный путь к файлу, я использовал CONCAT.
Он работает как шарм и на самом деле может быть очень удобным для требовательных веб-приложений.

0

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

0

Это странное требование :-) лично я бы попытаться сказать нет и вместо этого реализуйте что-то с помощью fineuploader, что позволит вам поддерживать перетаскивание для нескольких файлов. Но, похоже, это не OP:

Я бы использовал в качестве побочного задания cron или работника, используя функцию управления («Python manage.py your_function») или внедряя Celery, чтобы в основном искать все файлы и для каждого файла, еще не находящегося на базы данных, создайте для него новую запись. Чтобы упростить задачу, вы можете захотеть, чтобы эта функция также перемещала файл в ваше местоположение MEDIA (вместо того, чтобы сделать исходный каталог MEDIA).

В основном, используя управление django или django-celeryfunctions, вы можете проверять каждые пять минут (или каждую минуту) и выполнять эквивалент загрузки пользователя.

Существует недостаточно описания вашего кода для меня, чтобы написать образец трески, но, надеюсь, вы получите эту идею.

+0

Я вообще не знаком с сельдереем !! Итак, вы в основном говорите по-китайски ко мне сейчас;). Я знаю, что это странное требование. Я склоняюсь к «нет», но сначала мне нужно было провести исследование. Спасибо за информацию! –

+0

https://realpython.com/blog/python/asynchronous-tasks-with-django-and-celery/ – dkarchmer

 Смежные вопросы

  • Нет связанных вопросов^_^