Развертывание Django с WSGI: ошибка импорта приложения

Я новичок в мире apache, linux и python. Я пытаюсь развернуть приложение django на apache, используя WSGI (рекомендуемый способ).

Моя структура каталогов проекта django выглядит следующим образом...

  • /
  • /apache/django.wsgi
  • /apps/ #я помещаю все свои приложения в этот каталог
  • /приложения/провайдеры/
  • /приложения/покупки/
  • /Программы/...
  • /промежуточное ПО/
  • ...

В apache у меня есть следующие настройки....

LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / D:/Projects/project-name/apache/django.wsgi

<Directory "D:/Projects/project-name/apache/">
  Allow from all
  Order deny,allow
</Directory>

Файл django.wsgi имеет следующий код...

import os
import sys
import settings

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')

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

import django.core.handlers.wsgi

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

При запуске я обнаружил эту ошибку в файле error.log appache...

  • Произошла ошибка в этой строке. из apps.providers.models импортировать провайдера
  • Ошибка импорта: нет модуля с именем provider.models

Я не знаю, почему у меня появляется эта ошибка. Он должен был загрузить Provider из apps.providers.models, но пытается загрузить его из provider.model.

Любое решение будет оценено.

Спасибо


person Software Enthusiastic    schedule 24.02.2010    source источник
comment
Работает ли он на сервере разработки (manage.py runserver)? У вас есть init.py внутри папки apps?   -  person Tomasz Zieliński    schedule 24.02.2010
comment
Да, он работает на сервере разработки....   -  person Software Enthusiastic    schedule 24.02.2010
comment
И у меня есть _ _ init _ _.py в папке приложений....   -  person Software Enthusiastic    schedule 24.02.2010


Ответы (1)


Попробуй это:

sys.path.insert(0, os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))

Он помещает папку вашего проекта в первую позицию и использует os.path.join для перехода на один каталог вверх (что может быть лучше в Windows).

Возможно, на вашем пути к Python есть еще один модуль «приложения».

person stefanw    schedule 24.02.2010