Django Gunicorn - Не удалось найти атрибут 'application'

У меня было приложение Django/Gunicorn, работающее просто отлично, но после обновления кода оно перестало работать из-за этой ошибки gunicorn. Я не думаю, что что-то изменилось в этой настройке, поэтому я в растерянности, почему оно не работает сейчас.

/etc/systemd/system/triform.service

[Unit]
Description=triform daemon
Requires=triform.socket
After=network.target

[Service]
User=django
Group=www-data
WorkingDirectory=/home/triform/django
ExecStart=/home/triform/django/venv/bin/gunicorn \
          --access-logfile - \
          --workers 3 \
          --bind unix:/run/gunicorn.sock \
          triform.wsgi:application

[Install]
WantedBy=multi-user.target

/etc/systemd/system/triform.socket

[Unit]
Description=triform socket

[Socket]
ListenStream=/run/triform.sock

[Install]
WantedBy=sockets.target

/home/triform/django/triform/wsgi.py

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'triform.settings')

application = get_wsgi_application()

in /home/triform/django/triform/settings.py:

WSGI_APPLICATION = 'triform.wsgi.application'

Мне пришлось обновить gunicorn до последней версии, а также мой Dockerfile до Python 3.9. Если вы работаете вне Docker, вы можете просто обновить его. Убедитесь, что вы обновили старые зависимости.

После обновления gunicorn и python проблема разрешилась.

Вернуться на верх