Fala pessoal, boa tarde! Tudo jóia?
Primeiramente, parabéns pelo treinamento, fiquei muito feliz em ver mais conteúdo de Django na plataforma e ficou show, a parada do CORS eu ainda não tinha pegado e agora consegui dominar muito bem!
Sumariamente, permita-me apontar um detalhe onde o Guilherme, acredito eu, possa ter se equivocado. Abraços!
Problema
Os arquivos que são feitos upload pro Heroku não poderão ser mantidos mesmo que a pessoa nunca mais faça alteração no código, pois uma vez por dia os Dynos - que é como eles chamam os containers - passam por um processo de Cycling, sendo rebotados, e subindo uma nova instância da imagem do código, conforme descrito no site do próprio Heroku:
The Heroku filesystem is ephemeral - that means that any changes to the filesystem whilst the dyno is running only last until that dyno is shut down or restarted. Each dyno boots with a clean copy of the filesystem from the most recent deploy. This is similar to how many container based systems, such as Docker, operate.
In addition, under normal operations dynos will restart every day in a process known as "Cycling".
These two facts mean that the filesystem on Heroku is not suitable for persistent storage of data. In cases where you need to store data we recommend using a database addon such as Postgres (for data) or a dedicated file storage service such as AWS S3 (for static files). If you don't want to set up an account with AWS to create an S3 bucket we also have addons here that handle storage and processing of static assets
O sistema de arquivos Heroku é efêmero - isso significa que qualquer alteração no sistema de arquivos enquanto o dinamômetro está em execução dura apenas até que o dinamômetro seja desligado ou reiniciado. Cada Dyno inicializa com uma cópia limpa do sistema de arquivos do deploy mais recente. Isso é semelhante a quantos sistemas baseados em contêiner, como o Docker, operam.
Além disso, em operações normais, os Dynos serão reiniciados todos os dias em um processo conhecido como "Ciclagem".
Esses dois fatos significam que o sistema de arquivos no Heroku não é adequado para armazenamento persistente de dados. Nos casos em que você precisa armazenar dados, recomendamos usar um complemento de banco de dados como Postgres (para dados) ou um serviço de armazenamento de arquivos dedicado, como AWS S3 (para arquivos estáticos). Se você não deseja configurar uma conta com a AWS para criar um bucket do S3, também temos complementos aqui que lidam com armazenamento e processamento de ativos estáticos
Fonte: https://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted-from-the-application