2017-02-07 13 views
0

У меня возникла проблема с развертыванием приложения Django на веб-сервере Apache2. У меня была такая ошибка:Apache2, Django. Ошибка импорта

ImportError: No module named 'myproject.settings'

Но я не знал почему. Не могли бы вы помочь мне?

Мой конфигурационный файл:

<VirtualHost *:80> 
    Alias /static /var/www/myproject/myproject/static 
    <Directory /var/www/myproject/myproject/static> 
     Require all granted 
    </Directory> 

    <Directory /var/www/myproject/myproject/myproject> 
     <Files wsgi.py> 
      Require all granted 
     </Files> 
    </Directory> 

    WSGIDaemonProcess myproject python-path=/var/www/myproject python-home=/var/www/agora/ENV 
    WSGIProcessGroup myproject 
    WSGIScriptAlias//var/www/myproject/myproject/myproject/wsgi.py 

</VirtualHost> 

И wsgi.py:

import os 
import sys 

path = '/var/www/myproject' 
if path not in sys.path: 
    sys.path.append(path) 

os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings' 

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

Структура проекта:

project 
|--ENV 
|--project 
|----project 
|------wsgi.py 
|------settings.py 
+0

Где находится 'settings.py'? У вас действительно есть WSGIScriptAlias ​​//var/www/myproject/myproject/myproject/wsgi.py'? Использование поддельных имен всегда упрощает отладку таких вещей. – Alasdair

+0

Да, вот пример пути к ** wsgi.py ** и ** settings.py ** - **/var/www/agora/agora/agora ** – AndMar

ответ

0

Ваш файл настроек находится в /var/www/agora/agora/agora/settings.py, поэтому вам нужно, чтобы /var/www/agora/agora был на пути python.

В настоящее время похоже, что у вас есть python-path=/var/www/agora на пути python.

Если вы правильно установили путь python в конфигурации Apache, вам не нужно менять sys.path в файле wsgi.py.

+0

Спасибо, мне это помогло. – AndMar

0

Вам нужно добавить следующее:

WSGIPythonPath /var/www/myproject/myproject 
+0

Спасибо за ответ. Я попробовал, но это не помогло мне – AndMar