I totally understand why the OP would use only FBV, however when writing REST APIs you will want CBV to reuse base classes such as ListView.
(1) It seems whenever I need to adjust how something works, there is some field or method, that I can override, or meta class attribute to set. None of it seems too inflexible. Overriding or changing how things work somehow always feels like someone already thought of this special case I have, and has made it mostly easy to do. Often when I have such a customization case, I have this feeling: "AH, that's how it is supposed to be done in Django." instead of having a feeling of having to fight the framework.
(2) Just being able to use a normal template engine (I always use Jinja2 with Django), instead of having some wannabe HTML lookalike thing. I don't want to have to encode control flow inside HTML attributes. Why then make it look like HTML in the first place, if some JS framework then picks it apart? It is unnecessarily cumbersome to do that, and Django doesn't engage in that.
(3) The ORM is good, and flexible. Some traps for many queries though. But also escape hatches, which let one write ORM calls, that will translate to efficient SQL in most cases.
(4) Django makes it so easy (comparatively) to write a phenomenal searching and ranking function for ones database entities. Check for example the code of my blog [1]. One page of code, very adjustable to ones needs.
(5) Handling of routes is easy. `reverse` is very useful to not have to hardcode routes.
(6) Even when using third-party things like django-allauth it is easy to override templates, without having to modify the dependency itself. With foresight there exists a way to put ones own templates in a place that is discovered before the other package's templates.
(7) Adjustable django admin. I often have some "Tags" in my models, which are many-to-many. For example Posts-TagAssignment-Tag, where TagAssignment is a "throught table". In Django admin one can have a nice little modification [2] to make a very usable widget appear for assigning tags.
In short: It very much gets out of ones way.
[1]: https://codeberg.org/ZelphirKaltstahl/django-website/src/com...
[2]: https://codeberg.org/ZelphirKaltstahl/django-website/src/com...
It is somewhat explained as a convention or something built-in, but I can't find much about it elsewhere. Is it the author's own convention or am I missing something?
[1]: https://docs.djangoproject.com/en/6.0/ref/contrib/contenttyp...
Ruby is like someone mashed up python and perl whilst on cocaine one day.
I can take an argument of not buying a Tesla in order to avoid supporting Elons financial empire, but not using Rails because DHH made it is really hard to comprehend.
(Do you also check out the blogs/social media of every dev involved in every library you use?)
No, but a lot of people choose to, and I don't claim to know if one way or the other is more right or righteous. But I think boycotts wouldn't exist in the first place if everyone could separate the art from the artist.
And since there's lots of boycotts in the world, I think it's safe to say that it's at least socially acceptable to boycott companies or people with practices you don't like.
Who are we to say they're wrong for it?
I don't understand how people can be so out of touch.
Like, if you have something you regularly spend a lot of money on, it might be worth spending 2min on the Wikipedia article about it’s manufacturer to verify that it’s not made by child slaves or someone who sends all their profits to the KKK or whatever.
Doing that seems like basic prudence for an interconnected world, and a far cry from like … digging around Reddit threads looking for reasons to be outraged.
I have no opinion on DHH. I do think it’s good, actually, that lots of people are incorporating politics into their product use/purchase choices these days. Those decisions always had political consequences, so it’s good that people are now considering that.
Some people definitely have rubrics for making those decisions that I think are stupid, and some people do it dishonestly (e.g. performative public outrage over a random OSS contributor’s transphobic tweet while spending money on Harry Potter shit). But the fact that people are increasingly considering the social context of product use is still good, dumbasses would find other ways to be dumb regardless.
DHH has always been very outspoken in his opinions. That’s why he bashed Heroku so badly when he introduced Kamal. It’s what makes Rails such a clear minded framework.
In his political blog, he’s raising an issue that’s occupying all of western politics. And he’s very aggressive about it - just how he was very aggressive when he said “stop paying ridiculous amounts for stupid managed clouds”.
Instead of arguing where he’s wrong, people - including the blog post you cite - write “that’s hateful and racist” and refuse to engage beyond that. That is the very shut-up mentality he writes about.
It frustrates me so much to see this here on HN. HN is supposed to be a place to discuss, not blame others. This resistance to engage in a constructive discussion, even if the person with the differing opinion isn’t articulating them well, or has errors in their reasoning that upset you, is super harmful. It’s what gives all these far right parties their rise to power. They occupy the subjects then that their voters have on their mind, because everyone else doesn’t dare to talk about it.
We could have constructive discussions around such topics. But if we don’t, all that happens is that those who don’t feel heard - in this case rightfully so, because we chose not to hear them - will develop more and more extreme ideas.
What a weird statement. He has a platform, people that think his content is hateful and racist don't have a platform. He writes about kicking out normal people living their lives from places that he is not even from. Antagonizing people in position of power with this kind of mentality is what every sane person should do.
He is probably at a KKK level of racism.
I know that there are other people contributing to Rails, and that's their choice. Other people stopped contributing once DHH showed his true nature.
[0]: https://litestar.dev