Django Installed app and ImproperlyConfigured Ошибка: django.core.exceptions.ImproperlyConfigured
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
На самом деле, я создаю потребителя RabbitMQ в проекте Dango в том же каталоге, что и файл manage.py, и сталкиваюсь с вышеуказанной ошибкой.
Я также добавил
import os
import pika, sys, os, json
from matcher.views import GenerateOutput
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
Эти строки я получил из вопросов, связанных с stackoverflow
os.environ.setdefault()
действует только в том случае, если переменная окружения еще не установлена. То есть, если DJANGO_SETTINGS_MODULE уже установлена в вашем окружении и имеет значение, отличное от того, которое вам нужно, это объясняет вашу проблему. Попробуйте использовать
os.environ["DJANGO_SETTINGS_MODULE"] = "project.settings"
Итак, вы делаете две ошибки.
Первое: В коде, вы должны написать эти os.enoviron строку выше к строке кода, где вы импортируете views.py функцию GenerateOuput
Второе: Вы должны импортировать django в коде и написать строку кода ниже
django.setup()
Таким образом, полный код будет :
import os
import django
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
django.setup()
import pika, sys, os, json
from matcher.views import GenerateOuput
Это должно работать.