Heroku и Django: как использовать файловый сервер для хранения и редактирования пользовательских файлов - PullRequest
0 голосов
/ 29 января 2020

Я создал приложение Django, в котором есть несколько файлов .txt в папке в рамках проекта root dir, как показано ниже.

<code><pre>
[projectname]/
├── [projectname]/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py
├── [<b> myfiles </b>]/
│   ├── file1.txt
│   ├── file2.txt
│   ├── file3.txt
│   └── file4.txt
└── [myApp]/

Я указываю файлы пути, когда я запускаю приложение django на моей локальной машине. Теперь я попытался запустить свое приложение на Heroku, но приложение not не работает, когда я попытался сослаться на любой из моих файлов, чтобы выполнить некоторую обработку. Есть ли способ, которым я могу использовать файловый сервер (внешний или внутренний для Heroku), где я могу хранить свои файлы, а затем обновлять их через приложение django (пользователи) и сохранять их обратно на файловый сервер?

В моем приложении, когда пользователь создает новый проект, в фоновом режиме функция создает папку для пользователя, а затем копирует файлы из папки [myfiles] в папку нового проекта пользователя.

Кроме того, пользователи могут вводить данные через формы, которые я хочу сохранить в RDF-файлах, а затем сохранять на файловом сервере.

В конце концов, файловая система будет выглядеть так:

<code><pre>
[file system root]/
├── [<b> myfiles </b>]/
│   ├── file1.txt
│   ├── file2.txt
│   ├── file3.txt
│   └── file4.txt
├── [<b> user1 </b>]/
│   ├── file1.txt
│   ├── file2.txt
│   ├── file3.txt
│   └── graphfile1
├── [<b> user2 </b>]/
│   ├── file1.txt
│   ├── graphfile1
│   ├── file3.txt
│   └── file4.txt
├── [<b> user3 </b>]/
│   ├── file1.txt
│   ├── file2.txt
│   ├── graphfile1
│   └── file4.txt
....

1 Ответ

0 голосов
/ 29 января 2020

Вам необходимо использовать службу типа S3, использовать пакет django -storages.

И еще одно: в Heroku данные не являются постоянными. Каждый раз, когда dyno перезапускается, файлы перезагружаются и к исходному изображению. Больше информации здесь: https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted

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