←back to thread

310 points brylie | 1 comments | | HN request time: 0.241s | source
Show context
nop_slide ◴[] No.43517655[source]
I appreciate this effort and am surprised by the negative sentiment. I evaluated the big 3 frameworks (Laravel, Django, and Rails) last year and Django felt like the worst of the lot.

I really wanted to like Django more since I use python at $dayjob, but it seemed so far behind Laravel and Rails terms of DX and features. Also the ecosystem seemed fragmented and a lot of packages looked stale.

For example, I remember having to piece together a static files pipeline for Django with whitenoise, how is that not included by default?

Additionally the issues around the user model are bizarre, near the very end of the docs they tell you to override the user model to fix it. Wat.

Lastly Django templates felt super limiting, Livewire/Laravel and Hotwire/Rails gives you so much out of the box.

I ended up choosing Rails to start building side web apps, their move to SQLite-first and the whole “Solid” suite of tools is rad. Specifically Solid Queue is awesome! I noped out of Django when I saw how intense the docs for setting up celery were.

Hoping this spurs some activity in the Django-sphere, I would love if Django felt more complete like Rails!

replies(3): >>43518246 #>>43518259 #>>43518325 #
Jaxkr ◴[] No.43518259[source]
> a static files pipeline for Django with whitenoise, how is that not included by default?

It is. They have a file server in debug mode and recommend something like nginx for serving files in production (and provide a collectstatic command to make that easy).

People shouldn’t be using a WSGI server to serve static media. Whitenoise shouldn’t exist.

replies(1): >>43523021 #
tinodb ◴[] No.43523021[source]
Plenty of websites can live with the reduced complexity of having their static files served directly by python. Hence it exists, and is useful.
replies(1): >>43530938 #
1. Jaxkr ◴[] No.43530938[source]
I came back to this thread after realizing I whitenoise would solve my current problem...

I'm working on a small internal tool using Django. When I turned debug off, my files stopped serving. And for this small deployment, I really don't want to have to require a separate nginx server. I get it now.