Whenever I see people still praising Django in 2019, I immediately know that their technical understanding of the current backend and ops technologies is years behind. Django is still okay for small and amateur projects but nothing more than that. It is a curse for a fast moving business. EDIT: even though I stopped writing Django for 3 years now but here are some of my reasons as far as I can remember: 1. mediocre r…
Django 2.2
111–120 of 257 posts
Re: Django 2.2
#112Earlier quoted context omitted.
Living in society today involves having others' political views forced on me every day, in the form of "you should accept the status quo and not speak up about it". Many people just don't understand this because the status quo is fine for them.
> Living in society today involves having others' political views forced on me every day Yes to some extent. Most secular and democratic societies has agreed to a standard that I defend. Call it status quo if you want. I think decisions like Djangos goes against that standard and is probably why I feel so strongly about this. They want to police speech and force everyone to use specific words. I don't think we should…
Cool. But that’s your politics, and not necessarily everybody’s, and to have a different political position from you is not inherently morally wrong. We could argue about whether or not the status quo is fine, but that’s not the point - the point is simply that taking the status quo as acceptable is a political position which you’re subjecting others to, and your defence of it to the point of refusing to use software that does not back the status quo doubly so.
Or, in other words, you’re not for getting politics out of software - you’re for getting politics that you don’t agree with out of software.
Re: Django 2.2
#113Earlier quoted context omitted.
IMO PHP's Laravel is competitive with Django. I think Django, Laravel, and Rails are really the only 3 frameworks with the levels of ecosystem and built in functionality that these 3 have (unless there's something in Java-land that I'm not aware of). ASP.NET Core is close, but the ecosystem around it is weaker.
Php-wise Symfony is easily on par with Laravel and a really well managed project.
Re: Django 2.2
#114Earlier quoted context omitted.
With Python you get: - The best-governed language in all of software, and the best-governed web framework - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. - The standard language taught at most of the top CS…
> - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. I disagree about this, there's not even a basic user signup flow plugin with page templates that would allow SSO and U2F, it was so when I was looking at it…
Re: Django 2.2
#115Earlier quoted context omitted.
With Python you get: - The best-governed language in all of software, and the best-governed web framework - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. - The standard language taught at most of the top CS…
> - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. I disagree about this, there's not even a basic user signup flow plugin with page templates that would allow SSO and U2F, it was so when I was looking at it…
Re: Django 2.2
#116Why Django is not good, here are some of my reasons as far as I can remember: 1. mediocre routing (no nesting, all routes have to be declared in one place) 2. mediocre middleware (middleware is global) 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…
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/customizin...
> 5. custom authentication? external authentication? good luck
No luck needed: 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/
> 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 :)
Re: Django 2.2
#117Earlier quoted context omitted.
IMO PHP's Laravel is competitive with Django. I think Django, Laravel, and Rails are really the only 3 frameworks with the levels of ecosystem and built in functionality that these 3 have (unless there's something in Java-land that I'm not aware of). ASP.NET Core is close, but the ecosystem around it is weaker.
Php-wise Symfony is easily on par with Laravel and a really well managed project.
Re: Django 2.2
#118Django/Jupyter/pandas is an ecosystem that's hard to beat. If you're not already using it, check out `django-extensions`. You can use `./manage.py shell_plus --notebook` to launch a Django-friendly Jupyter notebook. From there you can prototype with extreme ease and confidence. I have also built a trivial custom model Manager so I can do stuff like: User.objects.all().to_dataframe("first_name", "last_name", "email")…
this approach avoids the full data copy calling '.all()' materializes.
Re: Django 2.2
#119Re: Django 2.2
#120Earlier quoted context omitted.
With Python you get: - The best-governed language in all of software, and the best-governed web framework - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. - The standard language taught at most of the top CS…
> - A huge ecosystem of libraries for everything from data science to email processing, that are (mostly) easy to read and modify and free from systemic security issues. And pretty much every major company with an API has an official Python library for that API. I disagree about this, there's not even a basic user signup flow plugin with page templates that would allow SSO and U2F, it was so when I was looking at it…
I don't know a ton about SSO, although I'm more skeptical about building it into Django only because there are many different ways you might want the business logic to work, so to me that suggests using a library for that might be more appropriate than having it built into the framework.