←back to thread

310 points brylie | 7 comments | | HN request time: 0.001s | source | bottom
Show context
petr25102018 ◴[] No.43513064[source]
I don't know if Plain has a chance to succeed but I understand why it is a fork. Django leadership haven't been able to move Django forward outside of its old paradigms and every attempt, be it a fork or third-party app, counts.
replies(1): >>43513080 #
1. sroerick ◴[] No.43513080[source]
Can you elaborate on this? What paradigms do you think are outdated?

Generally speaking, I think Django has lagged a bit behind other frameworks. However, the continued advantage of being Python driven has left it useful in my book when working with Python data utilities in the back end. What’s your perspective here?

replies(3): >>43513426 #>>43513588 #>>43514138 #
2. boxed ◴[] No.43513426[source]
Not the previous poster, but my biggest gripe with Django is all the silent failures. It was a bad idea 20 years ago, it's a bad idea now, it's just a very very bad idea.
3. petr25102018 ◴[] No.43513588[source]
It would be a long list. I will post some examples but you can summarize it as "Django is not ideal choice to build a modern SAAS applications" and "Django developer experience is lacking".

1. REST/HTTP API building needs to be built in for a batteries included framework. In 2025 it is already so so late. REST Framework is "finished" and even if it wasn't the third-party extensions including Ninja feel alien. They need their own routing (why?), their own serialization, have their own extensions or features (rate limiting) that should just be more generic.

2. Python optional typing is always rejected or postponed. Same with any effort to just make starting a project easier because Django doesn't want to ship any dependencies even if it means better outcomes. Recent discussions about shortening django-admin to django can give you enough information about how community decision making is difficult for bringing new (and great) ideas in.

3. Better approach for template components. Django should have good primitives so that people can built UI libraries on top. You can see 10+ third-party packages now but I think it should be included batteries.

4. Authorization. The whole authorization framework assumes that you run a website like the original newspaper. It absolutely cannot work with a multi-tenant SAAS apps that everyone wants to build.

5. Not being able to correct past mistakes or outdated stuff. For example still Django's user model is bad. I really don't understand how something so important cannot be fixed.

replies(2): >>43517480 #>>43518125 #
4. kitsune_ ◴[] No.43514138[source]
Active Record leads to a big ball of mud.

A lot pythonistas who only know Django have no idea that there other ways of building web apps.

5. ◴[] No.43517480[source]
6. infamia ◴[] No.43518125[source]
Regarding #3, you can already do this with Jinja2 template functions perfectly well. You can also do it with template tags, but it isnt as nice.

100% agree with #5, the diaspora of Django's community, dev process, and lack of a single decision maker when consensus isn't quickly reached, makes it virtually impossible to correct past mistakes.

replies(1): >>43522412 #
7. petr25102018 ◴[] No.43522412{3}[source]
> Regarding #3, you can already do this with Jinja2 template functions perfectly well. You can also do it with template tags, but it isnt as nice.

This is exactly the problem tho. Every Django solution is "install this thing that replaces or adds a component that should be standard". People adopt frameworks to help them stay on track, not because they want to immediately install 5-10 packages just to correct the framework. Not to mention this just creates a big split when every project will be very different.