Django неправильно настроен

Я довольно новичок в программировании и изучал Python по учебнику No Starch Python. Там есть глава о Django, и я следовал шагам учебника. Однако, когда я запускаю программу:

from django.db import models

class Topic(models.Model):
    """A topic the user is learning about"""
    text = models.CharField(max_length=200)
    date_added = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        """Return a string representation of the model."""
        return self.text

Я получу следующее сообщение об ошибке:

Traceback (most recent call last):
  File "/Users/admin/learning_log2/learning_logs/models.py", line 4, in <module>
    class Topic(models.Model):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/django/db/models/base.py", line 127, in __new__
    app_config = apps.get_containing_app_config(module)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/django/apps/registry.py", line 260, in get_containing_app_config
    self.check_apps_ready()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/django/apps/registry.py", line 137, in check_apps_ready
    settings.INSTALLED_APPS
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/django/conf/__init__.py", line 92, in __getattr__
    self._setup(name)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/django/conf/__init__.py", line 72, in _setup
    raise 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.

Может ли кто-нибудь сказать мне, почему так происходит и что я могу сделать? Большое спасибо. P.S. Я знаю, что уже есть пост об этом, но я попробовал то, что было написано, без каких-либо результатов. Также, я на macOS High Sierra версии 10.13.6, если эта информация имеет значение.

Я перепробовал все, что смог найти в Интернете, но, похоже, ничего не помогает. У меня даже нет фундаментального понимания проблемы.

У меня нет даже фундаментального понимания проблемы

Поскольку вы определяете модель, Django предполагает, что вы можете захотеть хранить экземпляры этой модели в базе данных.

Для этого Django необходимо знать детали соединения для выбранной вами базы данных, и эти детали хранятся в модуле settings.py.

Вы не сказали Django, где найти этот модуль.

Вам необходимо указать имя приложения django в файле settings.py перед началом его использования.

Вы были созданы Django Application перед созданием этой модели 'Topic' с помощью команды

python manage.py startapp core 

вам нужно указать имя приложения (в приведенном выше случае это 'core') в файле settings.py в массиве, как показано ниже

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'core' #new app name

]

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