Description
About This Talk
When people are first learning Django, they do a lot of work to reach the point where they have a project that works locally. Then they think, "All right! Now I can deploy my project and everyone can see how wonderful it is!"
What comes next? They have to identify a hosting service, hopefully find docs that are up to date enough to use, make a bunch of changes to their project, hope for no typos or misunderstandings, and maybe they'll end up with a deployed project. Many projects languish on local systems because of how difficult it can be to carry out your first deployment.
I've written django-simple-deploy as a standalone management command that inspects a local project, and automatically configures the project for deployment to the specified hosting platform. If a project is being tracked with Git and has a requirements file, and you have an account on a hosting platform with their CLI installed, you can deploy in a few steps without ever visiting the hosting platform's docs.
This talk will cover: - A live demo. - Why the Django community needs a project like django-simple-deploy. - What does this mean for people who have just finished the Polls tutorial? - What does this mean for hosting companies? - How it works: What changes does django-simple-deploy make to your project? - How it works: How does django-simple-deploy make these changes? - Deep dive: How do you test a Django project that acts on another Django project, and targets a remote platform? - Open questions (my open questions) - Contributing
This talk is not just for beginners. Beginners will benefit from knowing about a simple deployment tool, but intermediate developers will probably learn something from peeking under the hood of a management command that acts on another project. And people who teach Django will probably appreciate having a tool that configures a project for deployment, without having to talk their students through all the steps of deploying to a specific platform.