As someone that knows how to set up a server, I found Heroku a lot more difficult to get a Django app running than on a "normal" server. And a lot more of a PITA to debug.
I had the same experience as a django novice until I started understanding how django works. Its actually a lot easier once you know some of the pieces eg. dj-database-url. I realized I had issues because I didn't understand how all the pieces fit together.
ALso.. they have a template that you can download which essentially solves all the issues. Nowadays I always start with their template. or even if I have the app written, I will download django template from heroku, and plug in my apps to it.
Then Heroku aren't the solution either. But they're a step towards it. It's all attempts to get it right, wild swings in the darkness. Someone's going to smack it hard in the head and we're all going to ask why we didn't think of that before.
What about the second time you ran a Django app on Heroku? But Heroku is not even in `mabbo's first course (maybe the appetizer?) so that's slightly a straw man.
I don't know how valid that argument is, because the second time I set up a server was just tweaking two Ansible variable files and running the "provision" command.
Sure, but what I was getting at was parent was just having learn how to use Heroku. And while it's true that automation is something you can do yourself, what about keeping the server up-to-date and patched and so forth? Also, repeating myself here, Lambda et. al. are a step further than Heroku.
There are tradeoffs. You don't have to keep Heroku patched, but you also can't tune it if you need something specific.