Django is a solid and reliable framework with a core focus on backend development
Use Cases and Deployment Scope
It is very easy to integrate with Amazon Web Services (AWS) so scalability on the cloud is straightforward. It plays very well with AWS Relational Database service (RDS) with Postgres.
We use the ORM capabilities and so it is easy to ensure that everyone on the team is on the same page and following the same standards.
We have over 20 external integrations with multiple tools such as Slack, Zoho CRM, Google workspace, OpenAI, Deepgram, Twilio, Plivo, Runpod, Gemini, etc for a number of different use cases and it is easy to integrate as most of them either natively or through a python package allow easy integration into Django.
Pros
- Django Admin out of the box is very easy to provide access to non-technical folks
- Scalability, Migrations and Cron jobs which are needed as you scale are all battle tested and easy to implement
- It is very easy to extend and add functionality that is not present by adding direct python code
- Observability is great with good support for tools like New relic or Sentry and so it is easy to understand performance and bugs with just few lines of code
Cons
- It is heavier than its competitors and so is usually heavier and a bit more complicated to gets started
- It is much better for backend than full-stack
- Django channels is better now but still not the most convinient
- ORM queries can sometimes not be the most optimal and may need some direction to improve performance
Return on Investment
- We have been able to have 10 people work on the same codebase and the framework has ensured standards are followed - migrations, test cases, naming conventions and generally a good standard approach
- We have been able to update to newer versions of Django (major version upgrades) with usually just 1 sprint of work
- Over 75% of the external integrations have packages we can plug and play. This ensures that we do not need to worry about third party fixes needing to be applied manually.
- We migrated from a mix of Laravel (PHP) and raw python and the return was almost immediate with the jump up in productivity once we had a more solid framework to build on
