2013-11-15 3 views
0

좀 장고 프로젝트 sturcture 있습니다가져 오기 프로젝트 하위 디렉토리에서 플러그 애플 리케이션을 장고

PROJECT 
--APPS 
----Profile 
----... 
--PLUGINS 
----ENDLESS_PAGINATION 
----DJANGO_SUBDOMAINS 
----... 

그리고 예를 : ENDLESS_PAGINATION의 models.py 파일 가져 오기입니다에서 : 할 수없는

from endless_pagination import ... 

.

PROJECT 
--DJANGO_SUBDOMAINS 
--ENDLESS_PAGINATION 
--APPS 
----Profile 
----... 

그러나 내가 처음 선호 내 플러그인 수입을 변경 좋아하지 않는다 :이 구조가있을 때

ImportError: No module named endless_pagination

그것은에만 작동합니다. 도와주세요!

+0

타사 앱에이 플러그인이 있습니까? –

+0

모든 Django 응용 프로그램은 동일한 수준에 있으므로 기본적으로 외부 Django 응용 프로그램과 자신의 응용 프로그램을 구별하지 않습니다. –

+0

예 James, MIT licenese – user2721435

답변

0

PYTHONPATH에 PLUGINS 디렉토리를 넣으면됩니다. 당신의 settings.py에서

추가 :
import os, sys 
PROJECT_ROOT = os.path.dirname(os.path.dirname(__file__)) 
sys.path.append(os.path.join(PROJECT_ROOT, 'APPS')) 
sys.path.append(os.path.join(PROJECT_ROOT, 'PLUGINS')) 

그 후, 당신은 필요없이 애플리케이션 또는 플러그인 모듈을 참조 할 수 있습니다

settings.py "애플 리케이션." 또는 "플러그인". 접두사.

PROJECT_ROOT 레이아웃이 django 1.4 이상인 경우 django 1.3 이하를 사용하는 경우이 값은 PROJECT_ROOT = os.path.dirname(__file__)입니다.