What Django Deployment is Really About

Oct 17 5:15 PM EDT :calendar: to 5:40 pm

About This Talk

People often spend so much time learning how to build apps in Django that when it comes time for deployment, it feels like a whole new world that they don’t understand. Deployment recipes might help them get their app online–but then again they might not, if the steps that worked yesterday don’t work today. Even if they do get online, they might not understand that deployment process anymore than they did before.

Instead of offering another set of steps, I think we can help beginners to make sense of deployment by reducing the entire process to four major areas of concern and equipping them to think through each of these on its own terms:

  1. Static Files - why do I have to worry about these now? I thought {% static %} was handling it?
  2. Database - does my sqlite3 file not work in deployment? How do I use my cloud provider’s remote DB?
  3. WSGI Server - how do I run my app in production? Doesn’t manage.py runserver work? I’ve never heard of WSGI, what is it and why does it matter to my Django project?
  4. Web Server (Apache/nginx/PaaS) - What do I need to understand about web servers like Apache or nginx to get my project online? Do I even need to configure a web server if I go with PaaS?

We’ll also consider:

  • Django’s deployment checklist
  • django-simple-deploy

A link to slides will be posted after the talk at http://james.walters.click/


    Photo of James Walters

    James Walters (he/him)

    Two years ago, James and his manager started learning Python and Django to rebuild an internal web app used in their company’s call center. An old soul at heart, he started exploring the web before Angular or React ever came along, so the Web 1.0 feel of Django immediately clicked. Today that web app, built with Bootstrap and htmx, is in production use. Going through the process of deploying this app helped him crystallize how to think about getting a project from the code editor to the web browser, and he’s here to share those insights and distill deployment down to something more approachable.