django: режим ошибки настройки импорта wsgi с именем mysite.settings не найден - PullRequest
3 голосов
/ 21 января 2011

Hello Я потратил 2 дня на эту ошибку. не мог понять это.

an 21 00:19:50 2011] [error] [client 127.0.0.1] ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Does it have syntax errors?): No module named settings

django.wsgi находится в / user / local / django / apache

import os, sys
sys.path.append('/usr/local/django')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

мой проект django с именем mysite: находится в / user / local / django / mysite / scr / (здесь содержатся settings.py init.py и т. Д ...)

apache conf

Alias /media/ /usr/local/django/media
<Directory /usr/local/django/media>
Order deny,allow
Allow from all
</Directory>

<Directory /usr/local/django/apache/>
Order deny,allow
Allow from all
</Directory>



WSGIScriptAlias / /usr/local/django/apache/django.wsgi

Я изменил папку mysite выше с разрешением 777, чтобы избежать любых проблем с разрешениями. и я перезапускаю службу httpd каждый раз.

apache запускается и находит django.wsig. но он не может найти указанный в нем файл настроек.

и я добавляю путь к $ PATH вручную и отображаю его. это там. и я перезапускаю httpd. тогда путь, который я добавил, ушел ...

Кто-нибудь знает, что происходит?

спасибо

Ответы [ 3 ]

3 голосов
/ 21 января 2011

Если файл settings.py находится в / usr / local / django / mysite / scr /, то, очевидно, вы должны использовать:

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.scr.settings'
2 голосов
/ 21 января 2011

В первоначальном ответе я ошибочно думал, что ваш sys.path неверен.

Новая теория заключается в том, что вы говорите, что ваш settings.py живет в .../django/mysite/scr/, поэтому указание mysite.settings будет недействительным.

Технически, если mysite имеет файл __init__.py, путь к файлу настроек будет mysite.scr.settings

1 голос
/ 21 января 2011

Несколько вещей, которые вы можете попробовать.

Работает ли тестовый сервер "runserver"? Если это не так, возможно, у вас ошибка в файле настроек или в одном из других файлов, которые онзагружает

Порядок 'УСТАНОВЛЕННЫХ ПРИЛОЖЕНИЙ' может быть важен. Для одного из моих проектов эта ошибка исчезла, когда я изменил порядок установленных приложений.

Ответы на этот вопрос я задалНемного назад может быть полезно. Как мне перестать получать ImportError: Не удалось импортировать настройки 'mofin.settings' при использовании django с wsgi?

...