12

We have an app deployed using gunicorn_django in production. I've noticed that it's no longer recommended. I'm wondering why it's not recommended, and whether we need to migrate to the newer way.

From https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/gunicorn/

If you run Django 1.4 or newer, it’s highly recommended to simply run your application with the WSGI interface using the gunicorn command.

Nils
  • 5,612
  • 4
  • 34
  • 37

1 Answers1

17

The essential part of gunicorn_django, wsgi.py, became integrated in Django itself.

To quote an already existing answer:

Starting with Django 1.4, your project will already have a wsgi.py, which can be used with any wsgi server (of which there are many, gunicorn being just one).

Essentially the old Django integration for gunicorn was just a convenience to get you up and running faster, but it's no longer necessary because all Django projects now have wsgi.py.

UPDATE

First of all, in Gunicorn 18.0 gunicorn_django became deprecated.

Second, since the first writing of this answer I have personally encountered obscure errors that were specific to gunicorn_django in conjunction with --settings command line parameter (gunicorn command and ./manage.py runserver worked fine).

Namely, the obscure import error application.some_model: 'field' has a relation with model another_application.AnotherModel, which has either not been installed or is abstract.

So, no, I would not recommend you using gunicorn_django in your new projects.

Community
  • 1
  • 1
Ivan Kharlamov
  • 1,889
  • 2
  • 24
  • 33