Невозможно запустить сервер Django на моем компьютере - PullRequest
2 голосов
/ 13 апреля 2009

Я экспортировал путь моего проекта django по

$ export DJANGO_SETTINGS_MODULE=/Users/masi/Documents/Test/djangobook/ch3.settings

Я запускаю безуспешно

$ django-admin.py runserver 
Error: Could not import settings '/Users/masi/Documents/Test/djangobook/ch3.settings' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported.

Как запустить сервер Django без сообщения об ошибке?

Ответы [ 4 ]

3 голосов
/ 13 апреля 2009

Ваш $DJANGO_SETTINGS_MODULE должен быть установлен на ch3.settings. Просто убедитесь, что приложение ch3 есть и в вашем $PYTHONPATH.

Например, если ваше приложение имеет /Users/masi/Documents/Test/djangobook/, тогда установите $DJANGO_SETTINGS_MODULE на ch3.settings и убедитесь, что $PYTHONPATH включает /Users/masi/Documents/Test/djangobook.

$ export PYTHONPATH=/Users/masi/Documents/Test/djangobook/
$ export DJANGO_SETTINGS_MODULE=ch3.settings
1 голос
/ 18 сентября 2013

Для тех, кто сталкивается с той же ошибкой, при попытке запустить что-то похожее:

python manage.py runserver --settings=settings_dev

Когда файл настроек находится в каталоге приложения, например:

mysite/
  settings.py
  settings_dev.py
requirements.txt
manage.py

Вам не нужно указывать $PYTHONPATH (по крайней мере, четыре года спустя), вам просто нужно убедиться, что значение --settings содержит имя папки & mdash; вам также нужно использовать точечную запись, косая черта не подойдет.

python manage.py runserver --settings=mysite.settings_dev

То же самое происходит при экспорте значения $DJANGO_SETTINGS_MODULE:

export DJANGO_SETTINGS_MODULE=mysite.settings_dev

Возможно, кто-то спасет время, которое я потерял, работая над этим.

1 голос
/ 14 апреля 2009

Из документации django на django-admin.py и manage.py :

django-admin.py - утилита командной строки Django для административных задач.

Кроме того, manage.py автоматически создается в каждом проекте Django. manage.py - это тонкая оболочка для django-admin.py, которая заботится о двух вещах для вас перед делегированием в django-admin.py:

  • Он помещает пакет вашего проекта в sys.path.
  • Устанавливает переменную среды DJANGO_SETTINGS_MODULE так, чтобы она указывала на файл settings.py вашего проекта.

Как правило, при работе над одним проектом Django проще использовать manage.py

Итак, если ваша структура каталогов выглядит следующим образом:

djangobook/
    ch3/
        settings.py

Выполните следующие действия, и вы можете игнорировать все переменные окружения DJANGO (если у вас нет действительно странной установки):

$ cd /Users/masi/Documents/Test/djangobook/ch3/
$ python manage.py runserver
0 голосов
/ 14 апреля 2009

Вы также можете попробовать manage.py.

Из каталога вашего проекта запустите

$ python manage.py runserver

Даже если это просто оболочка, manage.py всегда работает для меня, а django-admin.py - нет. Очевидно, что мы оба делаем что-то не так (я только начал работать с Django), но это должно помочь вам, по крайней мере.

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