Django App с автоматической загрузкой файлов из локальной системы пользователя

Я хочу создать сайт, основанный на python и django в backend и bootstrap, css, jquery и javascript в frontend, функциональность будет такой, что пользователь будет указывать "Source_Path" из своей локальной системы независимо от используемой пользователем ОС, он будет загружать все файлы из этой папки в наш проект django!

Возможно ли это? Можем ли мы сделать эту автоматизацию. Я пробовал использовать os, это работает в моей локалке, но в производстве это не работает! Я развернул с помощью веб-сервера apache2.

Любое предложение может помочь!

То, о чем вы просите, похоже на систему синхронизации/резервного копирования файлов, подобную той, что предоставляет Microsoft/Apple/Drop-box.

Не зря же они запускаются нативно, а не в браузере.

Браузеры предназначены для защиты операционной системы пользователя от Интернета. Поэтому вам будет трудно получить доступ к пользовательским каталогам.

Когда вы запускаете Django локально, да, у вас будет доступ к ОС, потому что Django - это "сервер" и не предназначен для работы на клиентских машинах в производстве.

Когда вы развертываете его в производстве, django больше не находится на вашей машине, а на сервере, на который вы его развернули. Поэтому любой путь, который вы указываете в браузере в качестве клиента, не будет существовать на этом сервере, в отличие от того, когда вы запускали django локально (на той же машине).

Так что же вы можете сделать.

Ну, вы можете написать приложение Electron, которое работает как браузер & имеет повышенные разрешения на хост-машине, однако это означает, что вам придется заставить людей загрузить его, а не просто перейти по ссылке в браузере.

В любом случае я не вижу, как можно создать что-то, что делает то, что вы хотите, не заставляя пользователя загружать что-то с повышенными правами.

Это невозможно.

В вашем localhost, клиент и сервер одинаковы. Поэтому, получив путь (от клиента), вы можете получить доступ ко всей файловой системе (сервера).

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

Вы также можете проверить это с помощью Ngrok, PC1 - создать сервер, PC2 - путь загрузки. Это приведет к неудаче

Вернуться на верх