#36771: Django needs a _massive_ refactor
--------------------------+------------------------------------------------
Reporter: cammil | Type: Cleanup/optimization
Status: new | Component: Uncategorized
Version: 6.0 | Severity: Normal
Keywords: refactor | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
--------------------------+------------------------------------------------
Django is great. It seems to have nearly everything I want from a web
framework. However, I think it needs a ''massive'' upgrade
It seems bloated to me, and very difficult to use. FastApi is great and
for good reason. It's new, clean, fast, easier to use, has better
documentation, suits many of the new use cases (AI?) better than Django.
However, it seems to me that Django can and should compete. The issue is
that the code base is complex, and the many aspects of Django cannot
easily be decoupled. Can you run Django without an ORM? I don't think so.
I have been using Django for maybe 15 years, and I still am confused by
how the whole framework works.
The admin configuration is very difficult beyond simple modifications that
fit. The templating system code is really hard to understand. I suspect
there are many other structural issues I am not aware of.
The teams I have worked with are all itching to get off Django and move to
FastApi, and the only reason they have not is that it would be a big
effort to do so.
Given the many features and benefits of Django, I think it would be a
shame to see all this all lost to a cleaner and faster framework. By they
way, I am not at all suggesting that "we" need to out-do FastApi. I am
suggesting that we can and must drastically improve Django for the benefit
of all that use it, and ideally avoid them having to spend considerable
effort replatforming to a different framework.
Assuming anyone agrees that 1) this is actually a problem we would like to
solve and 2) that a fundamental clean up of the code base is a good idea,
then, I think it would be great to get together and discuss what we would
want from a big refactor.
--
Ticket URL: <
https://code.djangoproject.com/ticket/36771>
Django <
https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.