Django Hosting Options
Django websites can be deployed on any number of hosting providers. The first choice is deciding whether to use a Platform-as-a-service (PaaS) option or a virtual private server (VPS). A PaaS is an easier albeit more expensive option that can handle many deployment issues with minimal configuration. A VPS is less expensive and provides total control but requires more knowledge and effort to setup.
Heroku is the original PaaS. It has a free tier for small projects and progressive pricing as a site grows in size. There is also a robust add-on ecosystem for additional services like database hosting, caching, logging, and more. Check out the Heroku Django Getting Started Guide.
PythonAnywhere is another PaaS option that specializes in online Python environments. It also features a free tier and upgraded plans that start at $5/month. Deploying an existing Django app is straightforward and also demonstrated as part of the excellent DjangoGirls Tutorial.
Google provides multiple PaaS options starting with App Engine which is where to start but continuing with multiple more advanced options including Kubernetes and Compute Engine.
Amazon’s PaaS offering that replaces the previous Elastic Beanstalk option. You have full control over the AWS resources powering your application and pricing works on a pay-as-you-go model however the AWS documentation can be confusing for newcomers.
Zeit is a serverless platform provider that is very popular among professional developers. It has a dedicated tutorial for using Django that is worth reading.
Virtual Private Servers
If you’re comfortable doing basic server configuration, for as little as $5/month you can host your entire Django project on Digital Ocean. They have fantastic documentation and one-click installs for common setups like Ubuntu.
Linode is another very popular VPS provider also starting at $5/month that has fantastic customer support.
Amazon’s VPS offering starts at $3.50/month.