Существует ли приложение django, которое предоставляет средство выбора файлов для файлов на сервере?
Мне нужен компонент, который является браузером файлов на основе браузера, и я ожидаю, что какое-то приложение django в настоящее время обеспечит это. Что-то подобное существует?
Полная история:
Я создаю приложение Django, которое используется для тестирования. Я хочу использовать его для обслуживания файлов (и строк, и т. Д.) И прикрепления к нему пользовательских заголовков.
В настоящее время у меня есть модель FileSource
который имеет один file_path
поле, которое имеет тип django.db.models.FileField
,
При создании FileSource от администратора у пользователя появляется приятное диалоговое окно загрузки файла, а при сохранении выбранный файл сохраняется на сервере (в действительно странном месте, внутри каталога, где установлен django, или в чем-то странном, как это потому, что я не настроил хранилище, и это не поможет мне в любом случае)
Моя проблема: я хочу использовать только диалоговое окно файла для пользователя, чтобы выбрать полный путь на сервере. Файл, который выбрал пользователь, должен только ссылаться, а не копироваться (как в настоящее время), и он должен находиться на сервере. Таким образом, сервер должен иметь возможность перечислять файлы, которые у него есть, поэтому мне в основном нужен небольшой браузерный файловый браузер.
В этот момент я ожидаю, что смогу сохранить полный путь в моей БД, а затем я смогу получить доступ к этому файлу и обработать его (вместе со всеми пользовательскими заголовками, которые пользователь выберет из моего приложения).
В настоящее время, как вы, наверное, знаете, браузеры всегда врут о полном пути файла. Chromium добавляет "C:\fakepath" к имени файла, поэтому мне нужна поддержка бэкэнда для этого.
Кроме того, я проверил django-filebrowser
а также django-filer
и из того, что я понял, они не были созданы для этого. Если я не прав, небольшая помощь в их настройке была бы потрясающей.
1 ответ
Вы можете использовать FilePathField для этого. Он не будет загружать файл, но позволит вам выбрать уже существующий файл. Предостережение заключается в том, что вы можете использовать только один каталог. Если вам нужно несколько каталогов, то вам нужно пойти с чем-то вроде django-filer.