Ошибка Django: «myproject.wsgi.application» не может быть загружен

python django heroku wsgi django-wsgi

1067 просмотра

1 ответ

В настоящее время я пытаюсь проверить приложение Django, которое в конечном итоге будет развернуто в Heroku. При локальном тестировании я сталкиваюсь с ошибкой:

django.core.exceptions.ImproperlyConfigured: WSGI application 
'foodForThought.wsgi.application' could not be loaded; Error importing module.

Мой файл wgsi.py настроен как:

import os
import signal
import sys
import traceback
import time

from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "foodForThought.settings")

application = get_wsgi_application()
application = DjangoWhiteNoise(application)

и мой файл settings.py настроен как:

import os

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

...

# Application definition

INSTALLED_APPS = [
    'recipe.apps.RecipeConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'foodForThought'
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'foodForThought.urls'

...

WSGI_APPLICATION = 'foodForThought.wsgi.application'

...

В настоящее время я использую Django 1.11.7 и тестирование в Вене. Что вызывает эту проблему?

Автор: user6335453 Источник Размещён: 17.05.2019 03:54

Ответы (1)


0 плюса

Это сработало для меня, я знаю, что я опоздал на 11 месяцев, но надеюсь, что это сработает для тех, кто сталкивается с этой проблемой. По словам журнала изменений WhitENoise в здесь . В нем говорится следующее:

Утилита интеграции WSGI для Django (которая связана с редактированием wsgi.py) была удалена. Вместо этого вы должны добавить WhiteNoise в список промежуточных программ в settings.py и удалить любую ссылку на WhiteNoise с wsgi.py. Дополнительную информацию см. В документации.

Я сделал то, что они сказали, я удалил любые связанные с Whitenoise строки из моего wsgi.pyфайла и изменил эти 2 строки MIDDLEWAREв моем settings.pyфайле:

'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',

и это действительно сработало для меня. Надеюсь, это сработает для вас, ребята!

Автор: Mostafa Elgayar Размещён: 05.11.2018 10:48
Вопросы из категории :
32x32