Настройка Django на сервере с WSGI, получающим ошибку импорта «Модуль с именем myproject.urls не найден» - PullRequest
0 голосов
/ 18 декабря 2010

Итак, я создал сайт django и хотел перенести его со своего компьютера на мой сервер. Я настроил Django на сервере и использовал конфигурацию WSGI. Когда я пытаюсь перейти на домашнюю страницу, я получаю сообщение об ошибке импорта, в котором говорится, что модуль "myproject.urls" не найден. Это ошибка Django, и похоже, что он получает файл settings.py и просматривает настройки для ROOT_URLCONF и видит правильный файл URL. Я создал этот проект с помощью обычного django-admin.py startproject myproject, и я просто хотел посмотреть, все ли настроено правильно, но теперь я получаю эту ошибку.

Есть предложения?

Ответы [ 3 ]

2 голосов
/ 18 декабря 2010

Удалите «myproject» из «myproject.urls».Почему-то WSGI обращается к настройкам как к корневому каталогу, поэтому нет необходимости обращаться к нему снова.

1 голос
/ 13 февраля 2011

@ Afrowave, вы спасли от сильной головной боли - спасибо вам от меня!

В дополнение к этому - я немного покопался и хотел избежать внесения поправок в дюжину файлов в моем приложении, чтобы объяснить потерю «myproject». и начало каждого импорта.

Вместо этого я обнаружил, что если вы делаете что-то подобное - вам не нужно:)

ROOT = '/home/user/path_to_project_root' # In my case, also the dir that contains media, templates etc
APP_ROOT = '/home/user/path_to_django_project'
sys.path.append(ROOT)
sys.path.append(APP_ROOT)
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'

Надеюсь, это поможет кому-то в будущем.

1 голос
/ 18 декабря 2010

Похоже, что myproject не на вашем пути - что произойдет, если вы загрузите оболочку Python и запустите import myproject? Если это работает, что происходит, когда вы запускаете import myproject.urls? Если происходит сбой только второго импорта, в вашем urls.py или одном из импортируемых файлов есть синтаксическая ошибка.

...