Cannot locate local path of uploaded file to Heroku from django using ephemeral file system( Web based Application)

Viewed 43

I have recently deployed my first django project to Heroku. My project is a Web Based Application that allows users to upload a file to the server and the server will export a product after processing it. The views.py processing the upload process is as follows

if form.is_valid():
        task= form.save(commit=False)
        task.task_created_by = request.user 
        task.save() 

The model is as follows

class db(models.Model):
   created_by = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
   description = models.CharField(max_length=255, blank=True)
   excel = models.FileField(upload_to='task/excel/')
   userinput = models.FileField(upload_to='task/userinput/')
   output= models.FileField(blank=True,null=True)
   uploaded_at = models.DateTimeField(auto_now_add=True)

settings.py

#Media path setting
  MEDIA_URL = '/uploaded/'
  MEDIA_ROOT = os.path.join(BASE_DIR, 'uploaded')

Therefore, a part of the server involves accessing the user uploaded file and thus processing it. I did not set up any external file storage service(e.g. aws s3) and is only using the default ephemeral file system. when I first run the application the server response this error

No such file or directory: '/app/uploaded/task\\excel\\abc.xlsx'

However, as I am using the django model file field, when I go to the django admin panel, it shows the file is uploaded and can be downloaded from the admin panel... Therefore, the question is where did Heroku saved the uploaded file locally...

I have tried the heroku run bash method to search for the file but with no luck...

Any help would be appreciated, many thanks!!

0 Answers
Related