Развертывание Django - невозможно импортировать app.urls - PullRequest
0 голосов
/ 29 мая 2010

Я только что перенес проект django на сервер развертывания со своего сервера dev, и у меня возникли некоторые проблемы при его развертывании. Моя конфигурация apache выглядит следующим образом:

<Location "/">
        Order allow,deny
        Allow from all
        SetHandler python-program
        PythonHandler django.core.handlers.modpython
        SetEnv DJANGO_SETTINGS_MODULE project.settings
        PythonDebug On
        PythonPath "['/home/django/'] + sys.path"
</Location>

Django работает, так как он отображает отладочные представления Django, но я получаю следующую ошибку:

ImportError at /
No module named app.urls

И вот вся информация, которую Джанго дает мне:

Request Method: GET
Request URL: http://myserver.com/
Django Version: 1.1.1
Python Version: 2.6.5
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'project.app']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "/usr/lib64/python2.6/site-packages/django/core/handlers/base.py" in get_response
  83.                     request.path_info)
File "/usr/lib64/python2.6/site-packages/django/core/urlresolvers.py" in resolve
  218.                     sub_match = pattern.resolve(new_path)
File "/usr/lib64/python2.6/site-packages/django/core/urlresolvers.py" in resolve
  216.             for pattern in self.url_patterns:
File "/usr/lib64/python2.6/site-packages/django/core/urlresolvers.py" in _get_url_patterns
  245.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib64/python2.6/site-packages/django/core/urlresolvers.py" in _get_urlconf_module
  240.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib64/python2.6/site-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)

Exception Type: ImportError at /
Exception Value: No module named app.urls

Есть идеи, почему я получаю ошибку импорта?

Ответы [ 3 ]

1 голос
/ 29 мая 2010

Я предполагаю, что если вы просто измените свою конфигурацию URL-адреса на ссылку "project.app.urls" вместо "app.urls", ваша проблема будет исправлена.

Похоже, что вы указали "project.app" в INSTALLED_APPS в файле settings.py вашего проекта, но вы указали ссылку на "app.urls" в вашем urls.py. Вам необходимо стандартизировать и всегда ссылаться на «приложение», а также изменять PythonPath, чтобы он включал каталог проекта, или всегда ссылаться на «проект.app».

1 голос
/ 29 мая 2010

Добавить каталог проекта в sys.path.

0 голосов
/ 29 мая 2010

Я бы порекомендовал использовать virtualenv вместе с mod_python. Некоторые инструкции здесь: http://mydjangoblog.com/2009/03/30/django-mod_python-and-virtualenv/

Преимущество решения всех ваших проблем на пути, а также позволяет очень легко устанавливать дополнительные модули (или даже другие версии django).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...