Вопрос:
Я пытаюсь запустить проект в Django, но я встал прямо напротив стены. Всякий раз, когда я запускаю django-admin без команд, я получаю это уведомление после справочного сообщения:
Note that only Django core commands are listed as settings are not properly configured (error: 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.).
И всякий раз, когда я пытаюсь запустить его или manage.py с помощью такой команды, как servererver, я получаю:
python manage.py runserver Traceback (most recent call last): File «manage.py», line 22, in <module> execute_from_command_line(sys.argv) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/__init__.py», line 363, in execute_from_command_line utility.execute() File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/__init__.py», line 355, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/base.py», line 283, in run_from_argv self.execute(*args, **cmd_options) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/commands/runserver.py», line 62, in execute super(Command, self).execute(*args, **options) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/base.py», line 330, in execute output = self.handle(*args, **options) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/commands/runserver.py», line 73, in handle if not settings.DEBUG and not settings.ALLOWED_HOSTS: File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/conf/__init__.py», line 56, in __getattr__ self._setup(name) File «/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/conf/__init__.py», line 39, in _setup % (desc, ENVIRONMENT_VARIABLE)) django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Я не знаю, как определить этот DJANGO_SETTINGS_MODULE и где вызывать settings.configure(). Я пробовал использовать некоторые другие ответы, но это либо другая проблема, либо я пропускаю то, что должно быть совершенно очевидно.
Ответ №1
В верхней части вашего файла manage.py вы должны увидеть эту строку, где проект – это название вашего проекта, в котором содержится файл настроек.
os.environ.setdefault(«DJANGO_SETTINGS_MODULE», «project.settings»)
Если проект не существует или путь неправильный, python manage.py завершится с ошибкой.
Дерево файлов должно выглядеть примерно так:
. ├── manage.py ├── project │ ├── settings.py
Для контекста созданный manage.py содержит следующие строки
if __name__ == «__main__»: os.environ.setdefault(«DJANGO_SETTINGS_MODULE», «project.settings») # … other code …