Django is such a diverse and intricate back-end web framework. One of the best things that we can do with Django is that we can install various packages/apps. These packages and apps help to provide our application with additional out of the box functionality.
Package #1 - Django REST framework (DRF)
The DRF allows Django developers to build any HTTP-based RestAPI. DRF is applauded for providing developers with potent and flexible tools. It also comes with detailed documentation.
Package #2 - Celery
Celery is a distributed task queue that can be used to assist Django web applications with multi-threading. In the process Celery also helps to offload work from our apps, since we can send tasks that are time intensive to Celery's task queue.
Package #3 - Django channels
Django channels provides WebSocket async support in Django. It is also highly customizable so it can be used for a variety of use cases.
Package #4 - Django-environ
Although, there are many packages that can be used to help us to configure environment variables within our Django applications. Django-environ is one of the simplest and most effective packages that allows us to do just that.
Package #5 - Django-two-factor-auth
One of my favourite packages. The best part of this package is in the fact that you can configure two factor authentication in multiple ways, not just via a typical token generator.
Package #6 - Django-crispy-forms
If you want to improve the styling of your user forms, then Django-crispy-forms is an absolute must use. It provides our users with a clean and pleasant form for our users to work with.
Package #7 - Django-simple-captcha
User forms can be used by bots, therefore it's important to somehow verify that the user submitting the form is indeed a human. A good way to test this is to make use of a simple captcha.
That's that! Happy learning!