2 ms·
> * Authentication - it is a pain if you'd like to deviate from the standard Django User model (using username to login instead of an email). It's not so hard,
by mushufasa 7y ago
> * Authentication - it is a pain if you'd like to deviate from the standard Django User model (using username to login instead of an email).
It's not so hard, you just define a custom user class -- plenty of SO snippets if you're lazy. Though I agree that it would be better if common user schemes like email login were supported out of the box.
>* Better security by default: Rails comes pre-configured with a bunch of security headers[0].
Django has security headers also https://docs.djangoproject.com/en/2.2/topics/security/ https://docs.djangoproject.com/en/2.2/topics/security/
> * Sidekiq has a better API compared to Celery. Also, Celery's default broker is RabbitMQ, not Redis. It is really hard to find managed RabbitMQ hosting, for Redis there are plenty
There are several on Heroku, including with free plans. https://elements.heroku.com/addons/cloudamqp https://elements.heroku.com/addons/cloudamqp .
I agree that Celery has a bit of a learning curve (e.g. heartbeat, concurrency, etc.). The project is improving, and python overall is getting better at async.
> Django, which is big on backwards compatibility.
Version 2.0 breaks code from 1.11, which happened in 2017.
> I decided to switch to Rails and haven't looked back
Maybe Django improved since you last looked, and could merit another try :).
> I don't want to start a flame war
Nor do I. Both cake and pie are good. The ability to weave in the rest of the python ecosystem (e.g. pandas, keras) makes Django attractive to me for many projects.