After many years of working with Django, I decided to take a closer and more serious look at FastAPI. Extensively using both frameworks has helped me understand their actual strengths and weaknesses with greater accuracy. More and more, I find it challenging to form a relevant opinion on tools I've never used. Reading documentation or blog posts like this one is not enough, as some things simply don't "click" in your mind until you experience them firsthand.
To be clear, this blog post is not about declaring a winner—it’s not a fight. However, the frameworks are so different that, depending on your project requirements, one will likely be a better fit than the other.
The challenge when comparing tools is distinguishing when one is genuinely better than the other and when it’s simply a matter of personal preference that others might not share. You might strongly disagree with some of my points, and that’s completely understandable in this context.
Django is marketed as an all-batteries-included framework. This means it is designed to provide many of the tools you might need, all built-in and without relying on external dependencies.