Django is full of shortcuts to make web developers’ lives easier, but allthose tools are of no use if you can’t easily deploy your sites. Since Django’sinception, ease of deployment has been a major goal.
There are many options for deploying your Django application, based on yourarchitecture or your particular business needs, but that discussion is outsidethe scope of what Django can give you as guidance.
Django, being a web framework, needs a web server in order to operate. Andsince most web servers don’t natively speak Python, we need an interface tomake that communication happen.
Django currently supports two interfaces: WSGI and ASGI.
- WSGI is the main Python standard for communicating between web servers andapplications, but it only supports synchronous code.
- ASGI is the new, asynchronous-friendly standard that will allow yourDjango site to use asynchronous Python features, and asynchronous Djangofeatures as they are developed.
You should also consider how you will handle static files for your application, and how to handleerror reporting.
Finally, before you deploy your application to production, you should runthrough our deployment checklist to ensure that yourconfigurations are suitable.