3 ms·
> 1. mediocre routing (no nesting, all routes have to be declared in one place) In reality these can be multiple places, however not really nested. There is th
by pleasecalllater 8y ago
> 1. mediocre routing (no nesting, all routes have to be declared in one place)
In reality these can be multiple places, however not really nested. There is the main routing file, which can move resolving a url to another file.
> 2. mediocre middleware (middleware is global)
Isn't it how it should work? The middleware is something your want always run for the request.
> 3. mediocre ORM (easy only for very easy stuff, more pain in the ass than writing raw SQL itself when it comes to complex aggregations and joins) not to mention some of the famous ORM bugs that have been open for like a decade
Not really. On the other hand I always prefer SQL... but using SQL in the Django ORM and pushing the results into Django model classes is simple.
> 4. custom user model? good luck fighting with Django errors to make that happen
Done that a couple of times... https://docs.djangoproject.com/en/2.1/topics/auth/customizing/ https://docs.djangoproject.com/en/2.1/topics/auth/customizin...
> 5. custom authentication? external authentication? good luck
No luck needed: https://docs.djangoproject.com/en/2.1/topics/auth/customizing/ https://docs.djangoproject.com/en/2.1/topics/auth/customizin...
> 6. Django is built for 2000s websites not REST/gRPC era
True, that's why we have e.g. this https://www.django-rest-framework.org/ https://www.django-rest-framework.org/
> 7. want to use graph databases? noSQL? good luck
Yup. I'm using SQL and I'm with it. Graph databases are cool for some specific problems, you can also use the core Django models and store some more stuff in the graph database. As for all the noSQL mess, well, it's usually a mess with thousands if programs running just to clean the data, and almost nobody cares about the correctness of the data model, thank you, I'd rather stay with the good old SQL.
> 8. external migration for SQL? oh god, prepare yourself for the mental hell
I'm not sure I can see a problem here... but I'm half-dba, half-programmer, half-dragon... so maybe that's why.
> 9. Django as far as I can tell still ONLY supports decoding "x-www-form-urlencoded" bodies, yeah no JSON, it's that pathetic
I'm sure I was using json with django without any problems in both directions. But you know, I'm different.
Yep, Python has lots of problems, and I'm not sure I like it (especially after moving to Kotlin for 97.49% of the code). However, if you stay with Python, I'd recommend Django :)