How do you deal with user uploaded media?

I have always used AWS with Boto3 and Django-storages, but sometimes for small projects it seems like an overkill. Is there something more elegant/simpler?

Goal is,

  1. Use for light projects (a non-profit blog for example).
  2. Simple enough to teach for beginners.

Sure! Local storage on your current file system. That’s about as easy as it gets.

I think it depends on what you are building. Almost all of my projects these days are container-based (even if they are a 12 line FastAPI service) so I like having the ability to run my image either locally or via docker on any provider and I know my storage is not tied to a local hard drive.

That said, if you keep reasonable backups, there is nothing wrong with using local storage either and storing them on the drive of whatever hosting provider you are using.

Yea. My projects are alway dockerized, so local storage is out.

Actually, it’s not. We also dockerize our apps, and store user-uploaded files in named volumes. We back them up from another container that shares that volume.