Django обрабатывает файлы, загруженные пользователем

Я работаю над приложением, в котором пользователь загружает текстовый файл, который затем обрабатывается.

Все работает хорошо в моей локальной среде, но на Heroku приложение не может найти файл в указанном месте.

  1. User uploads file through form & I save it to a folder in the media root:
# views.py
myfile = request.FILES['myfile']

fs = FileSystemStorage(location=os.path.join(settings.BASE_DIR, 'media/raw'))
filename = fs.save(myfile.name, myfile)
  1. I try to open the file and perform some operations on it
# 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')

Спасибо за любую помощь!

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