No single hosting service is perfect for all situations. The best host depends on your comfortability with server operations and your budget. Let's narrow down what you're looking for though. First, you'll have to decide which category of hosts fits best:
- shared host — best for beginners running small projects, also budget friendly
- virtual private server — ideal for developers who know how to administer their own servers
- dedicated host — for large projects which require a lot of resources
Shared hosts are named so because a single server is shared among multiple developers. Similar to an apartment complex, the tenants of a server are all sharing its resources. This is why shared hosts is better suited for smaller projects.
I recommend starting off with a shared host if it's your first Django website.
Almost all shared hosting services offer plans at a budget friendly price. What ends up distinguishing a host is its reputation: do they pack their servers with hundreds of websites?
I've tried several shared hosting services and the one I stuck with was WebFaction. They were the first host to officially support Django. They're the only host with a web panel that can install Django in under 2 minutes. Every other host requires delving onto the command line.
Virtual Private Servers
Virtual Private Servers, or VPS, is usually the next step after your application out-grows a shared host. On a VPS, you're still sharing the resources of a single server — except there are hard limits. If your neighbor uses too many resources, his website will be cut off. Likewise, your website might be cut off from CPU/memory if it grows too large.
Whereas shared hosts are like living in an apartment, a VPS is more akin to a town house.
VPS services tend to be un-managed. A shared hosting services will take care of server uptime and installing updates — but you'll be on your own with a VPS.
I recommend upgrading to a VPS once you've outgrown a shared host. It's best to use a VPS after you've learn the basics of administering a server.
Two popular VPS services are A Small Orange and Linode. A Small Orange also provides shared and dedicated hosting, so you'll be able to grow your website with them. Linode specializes in VPSes and are quite possibly the most popular VPS service — for good reasons, their customer support is amazing and they offer competitive pricing.
Dedicated hosts are named so because the entire server will be dedicated to you. You won't be sharing its resources with anyone else. Whereas shared hosting is like an apartment, VPS is like a townhouse, a dedicated server is like living in a house.
This is the most expensive option and is usually only for large websites. If your website is getting a lot of traffic and uses a lot of resources, you'll want to upgrade to a dedicated server. If you're just starting out, you'll probably want to stay away from a dedicated server for now.
Both WebFaction and A Small Orange offer dedicated server plans. WebFaction offers managed services, so you won't have to worry about applying security patches and software updates.