#django #django-media
Вопрос:
Я работаю над приложением, в котором пользователь загружает текстовый файл, который затем обрабатывается.
Все хорошо работает в моей локальной среде, но на Heroku приложение не может найти файл в указанном месте.
- Пользователь загружает файл через форму, и я сохраняю его в папку в корневом каталоге носителя:
# views.py
myfile = request.FILES['myfile']
fs = FileSystemStorage(location=os.path.join(settings.BASE_DIR, 'media/raw'))
filename = fs.save(myfile.name, myfile)
- Я пытаюсь открыть файл и выполнить с ним некоторые операции
# another file
class Text:
def __init__(self, filename):
self.filename = filename
self.raw_path = os.path.join(settings.MEDIA_ROOT, f'raw/{self.filename}')
...
with open(self.raw_path) as file:
...
На производстве я получаю сообщение об ошибке
No such file or directory: '/app/media/raw/filename.txt'
Я знаю, что Django обрабатывает медиафайлы немного по-другому в производстве, но я не понял, как решить эту проблему.
В моем settings.py
у меня есть:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Спасибо за любую помощь!