Проблема с настройками импорта в django
Это кажется распространенной проблемой для многих других, но ни одно из других исправлений не помогло мне. Вот мой файл apache2/sites-available:
<Location "/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE getgps.settings
PythonOption django.root /
PythonDebug On
</Location>
Alias /media/css /home/getgps/media/css
<Location "/media/css">
SetHandler None
</Location>
И сообщение об ошибке:
Error: Could not import settings 'code.settings' (Is it on sys.path? Does it have syntax errors?): No module named settings
settings.py находится в /home/getgps/code/settings.py и / home / getgps / code связан таким образом, что это getgps в среде python (если я ввожу import getgps.settings в командную строку, он импортирует файл вопрос, независимо от того, где я нахожусь, когда я загружаю командную строку Python).
tldr: sybolic link работает, файл apache великолепен, но мне, похоже, не нравится моя файловая структура.
2 ответа
Вы должны закомментировать:
PythonOption django.root /
как это не нужно (и не работает в этом случае). Вам нужно использовать эту строку, только если ваш сайт не в DocRoot.
Obs: если вы можете, рекомендуется переключиться с mod_python на mod_wsgi, но не все провайдеры принимают его, так как иногда требуется перезапуск apache.
Наконец, я просто переместил код в родительский каталог (и переделал символическую ссылку), и он работал нормально. Я понятия не имею, почему это не работает. Все предыдущие кодовые базы, над которыми я работал, были настроены так...