Install Theme

Django Girls now deploy to Python Anywhere

We just pressed the big green merge button on one of the biggest pull requests to the Django Girls Tutorial so far: replacing Heroku deployment with Python Anywhere. Thanks to the huge efforts of Harry Percival and other collaborators, we made the deployment easier and more useful.

Heroku isn’t going away – the really well tested deployment instructions are now available in our second book: Django Girls Tutorial Extensions. If you want, you can still learn how to deploy to Heroku with us.

The tutorial has been read so far by almost 50,000 people, so we thought it’d be a good idea to share our motivations behind this change. Here it goes:

  1. Deployment is one of the most critical parts of the Tutorial. In the end, we want to show people how to build an application they can use, share and brag about in front of their friends, and how to make something real. Deployment is what makes it real. Deployment is also one of the hardest things for beginners – we can’t count how many people said that this is the trickiest part of the whole Tutorial. We’ve improved the Heroku deployment instructions with every workshop, but couldn’t completely remove the feeling of a complete beginner doing loads of magical things and not completely clear changes to different files to make it somehow work. The chapter was confusing and frustrating. This was a feedback after literally every event we did.

  2. Yet, if you compare Heroku deployment process to all the other alternatives available in the market, it’s quite simple. The simplest we’ve seen. It’s not because it’s necessarily very good, but it removes a lot of roadblocks and replaces it with magic. It’s also simple, but only because all the alternatives are just really really hard.

  3. Unfortunately, magic isn’t a beginner’s friend. Magic confuses and doesn’t allow to understand what is really happening. We wanted to change that, but still keep the deployment process as simple as possible.

3) Enter Python Anywhere. Python Anywhere is a company that supported Django Girls in London, and when Harry Percival saw that we’re using Heroku, he decided to convince us that Python Anywhere is indeed easier. Convincing us wasn’t easy: we knew that Heroku is way more simpler than anything available on the market. Harry took the risk to write an alternative deploy chapter that uses Python Anywhere, even though he knew that there was a chance we may never merge it. It paid off.

You can see the Pull Request that lead to the change here – it’s a real collaboration effort of many people who helped us review and test it.

Why do we think it’s better?

  1. It shows how deployment works under the hood. No magical Procfiles, magical collecting of the static files, magical configs. There is no “just works”, so it’s easier to understand, but at the same it doesn’t make it more complicated.

  2. It introduces a deployment technique that can be used everywhere: even on your own server. It’s a knowledge that will be useful outside Python Anywhere too, which is a huge advantage.

  3. It introduces attendees to Github, the center of the open source world. We always try to give people tools we, as developers, use in our everyday life. Now we’re adding another piece of this puzzle.

Huge thanks to everyone who was involved in this change, especially Harry Percival, who spent days trying to accommodate all of our nitpicking ;-)

Happy deploying! 🐍🌏