Once you have a working website or reusable app, you will want to make it public. Deploying websites is one of the most difficult activities of development with Django, because there are lots of moving parts that you have to tackle:
- Managing the web server
- Configuring the database
- Serving static and media files
- Processing the Django project
- Configuring caching
- Setting up email sending
- Managing domains
- Arranging background tasks and cron jobs
- Setting up continuous integration
- Other tasks, depending on your project's scale and complexity
In bigger teams, all those tasks are done by DevOps engineers and they require skills like deeply understanding networking and computer architecture, administering Linux servers, bash scripting, using vim, and so on.
Professional websites usually have development, staging, and production environments. Each of them has a specific...