Happy 20th Birthday, Django
171–180 of 191 posts
Re: Happy 20th Birthday, Django
#172It feels surreal that every time a Django topic comes up on this site it's flooded with people praising it and proclaiming how much they love it. I honestly found it to be the absolute worst Python framework I've ever worked with. I found it so hard to intuitively write code for it because it just does stuff for you in the background and you can't always see the execution order of code, especially when leveraging tha…
* I think Django is an amazing piece of software, developed by a lot of clever, brilliant people.
* I don’t want to use Django.
I think Django is unmatched for building a Django app. That is, if you want to connect to a relational DB, make CRUD queries with its OR , and spit out the results in the exact HTML or JSON it supports, you’re going to have a great time. If you want to hit non-relational backends (including APIs), form your own outputs, or reuse the SQLAlchemy models you built for another part of the project, you’re entering a world of pain. Mark it zero and move on. Turns out most of my stuff is doing non-Django patterns. But if that were different, if I were building a traditional website on top of PostgreSQL and starting with a blank slate, sure, it’d be high on my list of options.
Re: Happy 20th Birthday, Django
#173Out of curiosity, for people who have do projects in both Django and Ruby on Rails, which one would you prefer and why? I learned Python more than 10 years ago, but later chose Rails to be my first web framework to learn, as I also wanted to learn more about Ruby, hence the question.
Re: Happy 20th Birthday, Django
#174Earlier quoted context omitted.
I think a great combo would've been Django's features, packaging and most importantly documentation, but with SQLAlchemy and Jinja2 technologies underneath.
That would have been hard since both of those projects came out after Django, but just an FYI Jinja2 templates are supported and nothing stops you from using SQLAlchemy. Granted you lose a lot of the tight intergration that makes Django great to use.
Well, yes I didn't mean Django from the start! I mean now.
Re: Happy 20th Birthday, Django
#175Earlier quoted context omitted.
Simon wasn't a cofounder. He was an early employee/intern for LJW though. Perhaps the first person other than Jacob or Adrian to work on it.
Adrian and I co-created Django while I was working at LJW in a "year in industry" program from my UK university - which got me a student visa, so you could call it an "internship" but it was paid and 11 months long. Jacob joined shortly before I left, then Adrian and Jacob turned Django from a closed-source newspaper CMS project into open source Django. I think they deserve way more credit for the framework than I do…
I was write to be downvoted. Apologies for getting it wrong. I started using Django in 2008, and Simon's influence was very apparent at that point - my comment was not meant to belittle his contributions (I also follow him on Mastodon - big fan of his comments on HN and there).
I guess my memory was just wrong. I knew Jacob was hired after Adrian - but I thought they both started Django after Jacob joined, and Simon was an early intern. I had the ordering totally wrong.
Re: Happy 20th Birthday, Django
#176It feels surreal that every time a Django topic comes up on this site it's flooded with people praising it and proclaiming how much they love it. I honestly found it to be the absolute worst Python framework I've ever worked with. I found it so hard to intuitively write code for it because it just does stuff for you in the background and you can't always see the execution order of code, especially when leveraging tha…
The one thing that still bugs me is that you have to wire everything together manually. But other than that, much better than most.
Re: Happy 20th Birthday, Django
#177I love Django. I still reach for it for most projects. I really wish they would introduce a more modern frontend system though. I find it hard to go back to templates after using react. It’s easy enough to use Django and react, but it would be amazing if there was a more modern solution within Django for frontend.
Re: Happy 20th Birthday, Django
#178Of our US $300,000.00 goal for 2025, as of July 13th, 2025, we are at: - 25.6% funded - $76,707 donated :(
If we want innovation, transparency, and community-driven development to thrive, we have to step up — whether it’s donating, spreading the word, or helping out however we can.
Re: Happy 20th Birthday, Django
#179Earlier quoted context omitted.
Does/did Django have a reputation for instability or insecurity? Also, how on Earth did the ML PhDs decide physically segregated databases for each user were a requirement?
It has neither reputation, and to my knowledge, has never had serious incidents of either. It powers huge websites like pokemon.com And if you spend any time working with a group of PhDs, you'll be shocked at some of the harebrained schemes they come up with. Dumb people are dumb in simple ways. Smart people are dumb in genius ways.
The magic removal branch in 2006 was one such case (of API instability). I recall another case circa 2007(?) with a "new admin". But, importantly, pre-1.0 Django made no guarantees of API stability. Post-1.0 Django has had a pretty rock-solid reputation for stability and security.
Re: Happy 20th Birthday, Django
#180Earlier quoted context omitted.
Yeah, the template language was strongly influenced by NOT wanting to allow arbitrary logic like PHP does. I was already a fan of Smarty - https://www.smarty.net/ - which did a great job of separating out presentation logic in PHP. I've been using Jinja for my own projects for a few years because I wanted more expressive Python code in my templates! I think we didn't quite get the balance right for that in Django.
I think a great combo would've been Django's features, packaging and most importantly documentation, but with SQLAlchemy and Jinja2 technologies underneath.