DJANGO_SETTINGS_MODULE (ошибка, сгенерированная в коде для Python Crash Course) - PullRequest
0 голосов
/ 04 октября 2019

Все хорошо с настройкой Django, виртуальной средой и т. Д., Пока я просто не запустил models.py для определения моделей.

Написание и запуск кода в VS Code для Windows. Запустите его в терминальной сессии. Я попытался отредактировать файл настроек в каталоге learning_log, но не решил проблему. Например, я добавил последнюю строку в настройки:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'learning_log',
]

Также попытался добавить эту строку в настройки:

DJANGO_SETTINGS_MODULE=learning_log.settings

Вот код ошибки:

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) 
--snip--

Вот сообщение об ошибке от терминала:

c:/Users/Jeff/py_projects/learning_log/models.py

Traceback (most recent call last):
File "c:/Users/Jeff/py_projects/learning_log/models.py", line 3, in 
<module>
class Topic(models.Model):
File "C:\Users\Jeff\py_projects\env\lib\site- 
packages\django\db\models\base.py", line 103, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Users\Jeff\py_projects\env\lib\site- 
packages\django\apps\registry.py", line 252, in get_containing_app_config
self.check_apps_ready()
File "C:\Users\Jeff\py_projects\env\lib\site- 
packages\django\apps\registry.py", line 134, in check_apps_ready
settings.INSTALLED_APPS
File "C:\Users\Jeff\py_projects\env\lib\site- 
packages\django\conf\__init__.py", line 79, in __getattr__
self._setup(name)
File "C:\Users\Jeff\py_projects\env\lib\site- 
packages\django\conf\__init__.py", line 64, in _setup
% (desc, ENVIRONMENT_VARIABLE))

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.

1 Ответ

0 голосов
/ 04 октября 2019

Вы получаете ошибку ImproperlyConfigured, потому что вы пытаетесь выполнить models.py непосредственно в виде файла. Это не то, что вы хотите (я предполагаю). Если вы пытаетесь перенести свои модели (добавить их в базу данных), вам нужно будет запустить python3 manage.py makemigrations, а затем python3 manage.py migrate. Если вы просто пытаетесь запустить свой сервер, вам нужно запустить python3 manage.py runserver.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...