Unless you're talking about a million concurrent users or something, Django actually scales pretty well for medium concurrency.
Here's some basic advice though
(1) Cache stuff. Django has a built-in cache framework, but sometimes I even cache stuff in the process (It's not best practice at all, mind you, and every pro will tell you to stay away from that)
(2) Use the ORM properly! For example, never do something like len(MyModel.objects.filter(arg='blah')) to do things like count entries or see if entries exist. Instead use .count() or .exists()
(3) Unless it's something complicated, I would just use something like Heroku. Easy to scale resources up and down as well as deploy. I typically use AWS S3 as my static host and Heroku as my Django host.