4 ms·
As someone today who is an unrelenting critic of python. I have to say thank you to Simon and the Django community as a whole. Its a wonderful "batteries incl
by bnchrch 1y ago
As someone today who is an unrelenting critic of python.
I have to say thank you to Simon and the Django community as a whole.
Its a wonderful "batteries included" framework that has launched many successful projects, companies, and careers. Mine included.
And I'd be lying if I didnt say I still use pgadmin as my benchmark for evaluating admin panels in other ecosystems.
What you all created with Django is amazing.
We'd all be much further behind in tech without it.
Thanks absolute heaps.
- chistev 1y agoHow can you be an unrelenting critic of Python but love Django?
- rollcat 1y agoI don't think you can honestly and objectively criticise something you don't truly know. There's still no framework in e.g. Go that comes anywhere close to matching Django. It's pragmatic, doesn't do too much meta-magic (I still don't "get" Rails), lets you strip away any layers you don't need, etc.
- mervz 1y agoI think Phoenix is very close to Django at fitting that bill.
- bnchrch 1y agoNow Phoenix and Elixir are two technologies I love! But theyre admin offering is lacking. (Which is ok today in modern development and things like pgadmin)
- rollcat 1y agoDjango Admin is a bit of a trap though ;) it's powerful enough that you can build an entire application with it, custom views and powerful filtering and ACLs and whatnot, it easily gets 80% of your job done with almost nothing but a declarative DSL. But the remaining 20%? Now you've dug yourself a hole with no recourse but a complete rewrite. It's time/money you would've otherwise spent anyway, but that sunken cost fallacy hits hard.
- globular-toast 1y agoYep. Unfortunately the trap extends further than just the Django admin site itself. ModelForm and generic views are what power the admin site and they're exposed and you're encouraged to use them. Same with the low level crud permissions it creates. Once junior devs start doing the remaining 20% without rewriting you end up with something really difficult to maintain.
- rollcat 1y agoIt's not just the junior devs. A client once came to me with something that looked like 99.9% is just ModelForm, some CSS, and money. I should've taken 25% upfront and said no to the increasingly absurd change requests, but oh well.
- andybak 1y agoOh, I've been disagreeing with this take on the admin for such a long time!
- gnz11 1y agoThe Django docs do explicitly state that the admin is just meant for when you need a quick admin dashboard for internal applications. Anything outside of this domain or more complex, you should consider building your own.
- pkphilip 1y agoMany frameworks have the "admin" sections with very similar drawbacks. It gets you 80% of the way there in 20% of the time, but the remaining 20% is very difficult to get done. One framework which does not have this problem - or at least minimises the problem, is the Yii framework for PHP. A very nice and underrated framework
- POiNTx 1y agohttps://backpex.live/ https://backpex.live/ is a pretty good Phoenix Admin. Django's admin is still unmatched though.
- Induane 1y agoSometimes I think it's better to think of rails as a dialect of Ruby.
- imiric 1y ago> There's still no framework in e.g. Go that comes anywhere close to matching Django. I don't think Go is an apt comparison. Its philosophy is to eschew traditional frameworks in favor of relying on the rich standard library as much as possible, and on small external libraries when needed. This does lead to a duplication of effort and bespoke mini-frameworks that only technically have a fraction of the features of a typical framework, but the end result is much simpler, more understandable and flexible. All in a highly performant language with a great ecosystem, packaging, and tooling <3 That said, Django is an amazing framework that has stood the test of time. Like many here, it was one of the projects that kickstarted my web development career. Kudos to the team and community, and here's to another 20! \o/
- Daishiman 1y agoSoftware is multilayered and you can prefer some layers over others. I am huge fan of Python and Django. I despise PHP with the force of a thousand suns but I give enormous credit to Laravel as a well-designed framework that makes life bearable when working with PHP.
- fatbird 1y agoSame here: I started with PHP (and Zencart and the like) and moved on to Python and Django. When I had to step back to PHP for a while, Laravel was an island of sanity, just because it was clearly "let's do Django/Rails in PHP".
- bnchrch 1y agoSame way I can hate the drivetrain of a car but love the interior! They're separate systems that co-habitate. Specifically for python vs django, most of the things I dont like are actually attributable to decisions by the python team, not necessarily Django. But many of the things I do like are attributable to the Django team.
- peterashford 1y agoI'm not sure how this is even a question. I love Java, I hate a number of its frameworks. I've used Django and really liked it but I find Python awful for large codebases. Languages and tools made with the language are two different things.
- robertlagrant 1y ago> How can you be an unrelenting critic of Python but love Django? Writing a Django app is like writing Python, but it's more like writing Django.