2010-05-29 3 views
0

방금 ​​django 프로젝트를 내 dev 서버에서 배포 서버로 옮겼습니다. 배포하는 데 문제가 있습니다. 다음과 같이 내 아파치 설정은 다음과 같습니다가 장고 디버그 뷰를 렌더링하기 때문에Django 배포 - app.urls를 가져올 수 없습니다.

<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> 

장고, 작업을 수행하지만, 나는 다음과 같은 오류 얻을 : 여기

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 

왜 가져 오기 오류가 발생합니까?

+0

Django 책의 두 번째 에디션이 여전히 mod_python을 권장한다는 것은 불행한 일입니다. 나는 mod_wsgi 하에서 동작하는 것이 더 나은 행운을 가져왔다. –

답변

1

sys.path에 프로젝트 디렉토리를 추가하십시오.

+0

내 프로젝트 디렉토리가 이미 sys.path에 있었고, 내 앱 디렉토리를 경로에 추가했는데 이제는 작동합니다. – hora

1

내 생각에 단순히 "app.urls"대신 "project.app.urls"를 참조하도록 URL 구성을 변경하면 문제가 해결됩니다.

프로젝트의 settings.py 파일에 INSTALLED_APPS에 "project.app"가 나열되어 있지만 urls.py에서 "app.urls"를 참조한 것으로 보입니다. 표준화하고 항상 "app"를 참조하거나 프로젝트 디렉토리를 포함하도록 PythonPath를 변경하거나 항상 "project.app"를 참조해야합니다.

관련 문제