Contribute Media
A thank you to everyone who makes this possible: Read More

What Django Deployment is Really About

Translations: en

Description

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:

  • Static Files - why do I have to worry about these now? I thought {% static %} was handling it?
  • Database - does my sqlite3 file not work in deployment? How do I use my cloud provider’s remote DB?
  • 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?
  • 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

Details

Improve this page