Wednesday, September 10 @ 4:20 PM to 4:45 PM View on time.is
Room A
Deployment has been a sticking point for many Django developers as long as the framework has existed. With the 1.0 release of django-simple-deploy, that should no longer be the case. This release signifies a stable API, and most importantly a stable platform for building plugins.
django-simple-deploy
If you haven't seen django-simple-deploy in action, it lets you deploy a project in three steps. Assuming you have the target platform's CLI installed, here's what that looks like:
$ pip install django-simple-deploy[<platform_name>] # Add django_simple_deploy to INSTALLED_APPS. $ python manage.py deploy --automate-all
This currently works for Platform.sh, Fly.io, and Heroku. If you want a bit more control, you can separate out the configuration and deployment steps.
The core django-simple-deploy library only does a little work. It inspects your system and your project, and then hands off to an external plugin (such as dsd-platformsh) to take care of platform-specific configuration and deployment work. It should be possible to write a plugin for just about any hosting platform that can be configured to support Django.
dsd-platformsh
Each PAAS provider needs its own plugin. However, a single plugin, dsd-vps, can be used to deploy to any VPS host: Digital Ocean, Linode, Hetzner, and many more.
dsd-vps
This talk will discuss the following:
Just about everyone in the community is affected by Django's deployment story. If you'd like Django to have a much simpler initial deployment story, this talk is for you.
Eric is the author of Python Crash Course from No Starch Press. He also writes a weekly newsletter called Mostly Python. He is the maintainer of django-simple-deploy, which automates deployment of Django projects to a variety of platforms.
Eric was a math and science teacher for many years. He is now a full time writer and programmer.