3 ms·
Django is already terrible. Why build a framework on top of another framework? This is madness.
by junon 5y ago
Django is already terrible. Why build a framework on top of another framework?
This is madness.
- legostormtroopr 5y agoWhat makes you think Django is terrible
- junon 5y agoI worked with it exclusively for a year. Its ORM is magic, its performance is terrible, its configuration is cryptic at best, its handler system is worse than just writing your own. Everything about Django is terrible.
- boxed 5y agoI worked with it 10 years. The ORM is pretty trivially understandable and not magic at all. The configuration is pretty straight forward and we'll documented. The url routing is pretty good although it could be improved. It's a lot better than flask when you go beyond an MVP at least.
- junon 5y agoSorry, but creating reverse reference fields at runtime that can't be statically checked or enumerated is 100% magic.
- _throwawayaway 5y agoWould you mind pointing to the example of a system with less or no magic?
- boxed 5y agoYou mean of the models? But those are literally created at import time. That's as close to "statically" as things get with python really (except the text of the code).
- tticvs 5y agoI agree, the “batteries included” approach makes it very attractive for a new startup to use to get off the ground quickly. But in every case I have seen (3 separate companies now) it lets the team run up a huge amount of tech debt and get a lot of features locked into a very unscaleable, unperformant, architecture. It’s tempting to prototype with it, but I can’t think of a single use case that wouldn’t be better served with another framework. Django is not appropriate for production imo
- junon 5y agoEntirely agreed. This has been my experience as well.
- boxed 5y agoWhat a load of crap. I worked for 10 years on a huge code base. Using flask and SQLAlchemy is worse in every way for example.
- tticvs 5y agoYes, those would also be a very bad choice for a large project. But at least they have the advantage of being very lightweight so can be a good fit for adding simple crud features to a microservice, especially ML services that already need to use python for other reasons. Django is the worst of both worlds. Not suited for small services, and not able to scale with large ones. To your "load of crap" point, web development looked very different >10 years ago, Django was a lot better fit for that era. There is _zero_ reason to use it today.
- boxed 5y agoWhat would you suggest as an alternative?