Live data from Hacker News

The Decline of Django

david-dahan.com

111–120 of 173 posts

Re: The Decline of Django

#111
post #6

What’s better?

Just using Django as an ORM and not a templeting library

I really like the Genshi templating language, which TurboGears uses by default. Genshi is a descendent of the Kid templating language, but it uses a (debuggable) streams-based api instead of compiling templates to (undebuggable) Python code. You can use Genshi with Django, of course.

https://en.wikipedia.org/wiki/Genshi_(templating_language)

https://pythonhosted.org/Genshi/templates.html

https://genshi.readthedocs.io/en/latest/api/template/

https://pypi.org/project/django-genshi/

https://github.com/phispi/django-genshi-template

Re: The Decline of Django

#112
post #104

Earlier quoted context omitted.

A lot of devs don't understand this, but can save a lot of time, especially when the code is all python. Especially if you questions are off the beaten track

Django has one of the best source code base I ever saw, in 20+ years of doing software. If anyone has issues reading the Django source code, they probably should stay away from software development.

> If anyone has issues reading the Django source code, they probably should stay away from software development.

First of all, juniors exist you know that right? Please don't gatekeep.

Second, you're wrong. The Django codebase is overall good quality but if it's "one of the best you ever saw in 20 years" you haven't dug deep. Django has a lot of horrible no good bad awful parts to it. To their credit they tend to improve with age, not get worse, but it's certainly not worthy of such praise imo.

Re: The Decline of Django

#113
post #104

Earlier quoted context omitted.

A lot of devs don't understand this, but can save a lot of time, especially when the code is all python. Especially if you questions are off the beaten track

Django has one of the best source code base I ever saw, in 20+ years of doing software. If anyone has issues reading the Django source code, they probably should stay away from software development.

I halfway agree. However in a multi-framework system I don’t have to time to learn the project structure of all my dependencies for quick lookup. Maybe if the Django docs linked to the underlying source code that would be a good compromise?

Re: The Decline of Django

#114
post #36

Seems like a strange bit of feedback to me. My company uses Django as the backend for our REST API and it's simply phenomenal. Django isn't a complete solution out of the box, but that's why things like Django REST Framework [0] exist. It supports JSON-based views and has an excellent serialization layer that can map directly to the ORM models. This setup does NOT help with serving our frontend app, but we're using R…

I think the case for server-side HTML rendering has never been stronger, and of all Django projects I work on, the ones I enjoy most are those that never got on the SPA bandwagon. From both a developer and user point of view I find them much faster and less painful. There are many cases where you really, really don't need the massive amount of extra complexity involved in designing APIs, adding JS frameworks etc.

When you need a bit of extra UI goodness, htmx https://htmx.org/ is a fantastic solution, and you can still use SPA-type approaches for things that need them.

You can also benefit from massively faster (and more reliable) functional testing when you are mostly standard HTML - see django-functest https://github.com/django-functest/django-functest/ for an example of this.

Re: The Decline of Django

#115
post #94

1) Documentation is too verbose 2) Onboarding new developers lacks IDE specific tooling for free 3) Admin GUI isn't great 4) Async support is still incomplete 5) Static types aren't used in Django 6) Django is MVC which isn't useful if you just need a light V 7) People ignore other, newer tech because Django exists What??? 4 and 5 are legit complaints, the rest is literally the nittiest of picks, in my opinion. You d…

> What??? 4 and 5 are legit complaints, the rest is literally the nittiest of picks, in my opinion. I'd argue that 4) (async support) is the only meaningful point and 5) , given it's a Python framework, is at most a nice-to-have. But yes, this article is a complete waste of a click.

I'd recommend giving a bit more weight to the experiences of other developers. Static typing in Python has become fairly widespread and even idiomatic in some circles, even if you haven't experienced that yet.

Re: The Decline of Django

#116
This guy sounds like a textbook example of CV driven developer.

I've delivered large amount of value to business with boring technologies like Java, Django and made good money in the process. Sometimes all the client needs is a simple CRUD app. Coincidentally, I turned 40 this year.

Re: The Decline of Django

#118
post #6

Earlier quoted context omitted.

Just using Django as an ORM and not a templeting library

I really like the Genshi templating language, which TurboGears uses by default. Genshi is a descendent of the Kid templating language, but it uses a (debuggable) streams-based api instead of compiling templates to (undebuggable) Python code. You can use Genshi with Django, of course. https://en.wikipedia.org/wiki/Genshi_(templating_language) https://pythonhosted.org/Genshi/templates.html https://genshi.readthedocs.io…

I like the templating languages that remain valid HTML. It makes it much easier to integrate with other tools like HTML formatters or HTML plugins for JavaScript bundlers.

Re: The Decline of Django

#119

What’s better?

Zope & Plone! ;) https://zope.org/ https://plone.org/ ...if bigger = better...

You beat me to this exact reply: as "dead" frameworks go, getting real work done for real tangible value rocks, with Django, with Plone. I can't wait for the follow-up post explaining why FastAPI is dying, make tiangolo proud! ;-)

Re: The Decline of Django

#120

1) Documentation is too verbose 2) Onboarding new developers lacks IDE specific tooling for free 3) Admin GUI isn't great 4) Async support is still incomplete 5) Static types aren't used in Django 6) Django is MVC which isn't useful if you just need a light V 7) People ignore other, newer tech because Django exists What??? 4 and 5 are legit complaints, the rest is literally the nittiest of picks, in my opinion. You d…

Number 1 isn’t a show stopper in any way but is it pretty annoying. The primary django docs are very textual and place more emphasis on developing intuition and understanding context, than something that can be quickly referenced. Also a lot of the method parameters are either not documented or not explained. I think Django would benefit from a more technical and complete but less dense secondary reference.

Are you talking about an API reference? Django has that: https://docs.djangoproject.com/en/3.2/ref/

They have an entire set of tutorial/getting started type docs that are definitely very wordy and based around getting you comfortable with Django's paradigm, but they do have a rather well done API/Module reference that does a good job getting to the meat of the topic imo.

Post reply on HN