Ошибка Python/Django Improperly Configured - Настройки не настроены

У меня есть проект Django под названием Veganet, который я пытаюсь подключить к двум другим приложениям с помощью flask, но когда я запускаю свой основной скрипт vega_flask_run.py, он выдает мне ошибку неправильной конфигурации. Источник ошибки исходит из скрипта models.py, а точнее из строки 2, где я объявляю из django.contrib.auth.models import User. Я пытался использовать несколько постов для решения моей проблемы, включая:

Ошибка "Неправильно настроенные параметры БД"

ImproperlyConfigured: settings.DATABASES неправильно настроен. Пожалуйста, укажите значение ENGINE. Обратитесь к документации по настройкам для получения более подробной информации

"settings.DATABASES неправильно настроен" ошибка при выполнении syncdb с django 1.9

Я пробовал их решения, которые в основном включают изменение переменной INSTALLED_APPS в моем проекте settings.py и изменение переменной DATABASES в settings.py, а также использование windows powershell для выполнения python manage.py shell, django-admin.py shell --settings=mysite.settings, а затем установка переменной DJANGO_SETTINGS_MODULE для указания на настройки моего проекта, и, наконец, использование

from django.core.management import setup_environ
from veganet import settings

setup_environ(settings)

как следует из ответа в первой ссылке.

вот ошибка полностью:

Exception has occurred: 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.
  File "C:\Users\trevo\OneDrive\Desktop\veganet\profiles\models.py", line 2, in <module>
    from django.contrib.auth.models import User
  File "C:\Users\trevo\OneDrive\Desktop\veganet\profiles\forms.py", line 2, in <module>
    from .models import ExperimentContext, Profile
  File "C:\Users\trevo\OneDrive\Desktop\veganet\vega_ai\VegaMain.py", line 25, in <module>
    from profiles.forms import ProfileModelForm, ExperimentModelForm
  File "C:\Users\trevo\OneDrive\Desktop\veganet\vega_flask_run.py", line 5, in <module>
    from vega_ai.VegaMain import app as frontend

Вот моя упрощенная структура файлов:

veganet (main folder)
 -profiles (folder)
  ...
  models.py (script that gives me the error)
  signals.py
  urls.py
  utils.py
  views.py
 -vega_ai (folder)
  VegaMain.py 
  ...
 -vega_net (folder)
  ...
  asgi.py
  settings.py
  urls.py
  views.py
  wsgi.py
 db.sqlite3
 manage.py 
 vega_flask_run.py (where I am running the project)

мой файл settings.py:

мой скрипт wsgi.py:

import os
from django.conf import settings
from django.core.wsgi import get_wsgi_application

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

application = get_wsgi_application()

models.py

from django.db import models
from django.contrib.auth.models import User
from django.dispatch.dispatcher import receiver
from .utils import get_random_code
from django.template.defaultfilters import slugify
import subprocess

...

Что именно я не настроил здесь? Спасибо

Если это Django, а не flask, как следует из названия vega_flask_run.py, то вам нужно выполнить python manage.py runserver, чтобы запустить приложение.

Это может быть дубликат Django ImproperlyConfigured for import User.

Кроме того, models.py - это не скрипт, который вы запускаете в django так, как, я думаю, вы говорите. Это место, где находятся модели, которые вы определяете, классы, для вашего проекта.

Возможно, это я что-то упускаю. Может быть, вы можете отредактировать свой вопрос, указав файл vega_flask_run.py. Возможно, вы используете его таким образом, который мне просто не знаком.

В противном случае, я предлагаю вам начать с https://docs.djangoproject.com/en/4.0/intro/tutorial01/. То есть, похоже, что вы уже правильно начали проект, поскольку у вас там есть файлы django. Возможно, дело только в том, как вы их запускаете.

Edit
. Да, теперь я вижу, что вы пытаетесь запустить приложение djagno так, как если бы это было приложение flask, app = Flask(__name__, .... Несмотря на то, что и Flask, и Django являются python-фреймворками, они запускаются совершенно по-разному.

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