2013-04-08 2 views
6

나는 다음과 같은 구조 (장고 1.4)이 있습니다장고 - 응용 프로그램의 URL을 포함

containing_dir/ 
    myproject/ 
     myapp1/ 
     myapp2/ 
     myapp3/ 

MyProject를, myapp1, myapp2 등을 myapp3 모든 초기화 평을 가지고, 그래서 그들은 모든 모듈이야.

manage.py에서 난 정의 myproject.settings에 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

있다 (containing_dir 미만)에서 myapp1.urls.py

[..] 
ROOT_URLCONF = 'myproject.urls' 
INSTALLED_APPS = ( 
    [..] 
    'myproject.myapp1', 
    'myproject.myapp2', 
    'myproject.myapp3', 
) 
[..] 

내가 정의

urlpatterns = patterns('myapp1', 
    url(r'^agent/$', 'views.agent', name='agent') 
) 

및 myproject.urls에서 myapp1 URL을 가져 오려고합니다.

내가 싸다 부하 localhost:8000/myapp1/agent을 시도 할 때마다 003,210

는하지만 난이 withing에 myapp1.urls

어떤 도움에서 던진 생각

Exception Value: No module named myapp1 

를 얻을? 감사합니다

답변

0

ROOT_URLCONFmyproject.urls을 가리킬 필요가 있습니까?

myproject 안에 앱을 배치하는 경우 적절한 view prefix을 사용해야합니다.

urlpatterns = patterns('myproject.myapp1', 
... 
+1

예, 재사용 및 분리 응용 프로그램을 만들려고하기 때문이다. – pistacchio

+0

@pistacchio 그런 다음 파이썬 경로에 추가 될 수 있도록 응용 프로그램의 설치 스크립트를 만들 필요가 있습니다. 또는 수동으로 추가하십시오. – Ngenator

6

당신은 당신의 "myproject라는"디렉토리 안에

__init__.py 

파일이 있어야합니다. 당신이 말할 때 : 당신이 "myproject라는"(뿐만 아니라 myapp1)를 말하는

(r'^myapp1/', include('myproject.myapp1.urls')) 

파이썬 패키지로 구성이다. myproject.settings에서

3

는 다음과 같이 변경합니다

INSTALLED_APPS = ( 
[..] 
'myapp1', 
'myapp2', 
'myapp3', 
) 
0

시도 :

urlpatterns = [ 
    ... 
    url(r'^app_name/', include('app_name.urls', namespace='project_name')) 
    ... 
] 
관련 문제