2012-08-28 3 views
0

가능한 중복은 장고 버전 1.4에서
Where should i create django apps in django 1.4?는 더

는 구조 변경의 manage.py는 정상에 나가 수평. 장고의 webiste에 자습서를 사용 , 프로젝트의 이름은 내 사이트이며, 구조는 다음과 같이이다 :

mysite/ 
manage.py 
mysite/ 
    __init__.py 
    settings.py 
    urls.py 
    wsgi.py 

와 나는 응용 프로그램을 만들려고합니다. 응용 프로그램이 너무 최상위 수준에 있도록 튜토리얼에서는, 그냥 다음과 같이 바로 옆에 manage.py에 응용 프로그램을 배치 : 그래서

mysite/ 
manage.py 
mysite/ 
    __init__.py 
    settings.py 
    urls.py 
    wsgi.py 
polls/ 
    __init__.py 
    models.py 
    tests.py 
    views.py 

:

  1. 다른 무엇인가 만약 내가 secend 수준에서 settings.py 바로 옆에있는 앱을 만들면?

  2. 최상위 수준에서 앱을 만들고 정적 파일이있는 경우 mysitepolls을 모두 사용해야하므로 static/ 디렉토리는 어디에 배치해야합니까?

당신은이 같은 프로젝트를 시작하기 위해 템플릿을 사용할 수 있습니다
+0

유사 : http://stackoverflow.com/questions/11216829/django-directory-structure/11222631 # 11222631 –

+0

@Hedde 네,하지만 정적 파일을 프로젝트 'mysite'와 앱'poll' 둘 다에 사용하기를 원한다면 상황에서 두 번째 레벨에 앱을 배치하는 것이 좋은가요? –

+0

정적 파일을 앱과 프로젝트에서 모두 사용 하시겠습니까? 템플릿 프리젠 테이션에 대해 이야기하고 있습니까? 프로젝트 레이아웃과 어떻게 관련이 있습니까? –

답변

2

장고가 종료하는 프로젝트 레이아웃을 변경하는 응용 프로그램의 장소가 이미 정의되어 이러한 템플릿에서

https://github.com/goinnn/django-base-template 

을 두려운 시대의 myproject.myapp.something 수입. 이러한 유형의 가져 오기가 코드베이스에 흩어져 있으면 다른 프로젝트에서 앱을 옮기거나 다른 앱을 다시 사용할 수 없습니다. 새로운 레이아웃 (프로젝트와 동일한 수준의 응용 프로그램)은 프로젝트에 비해 상대적으로 수입을 상대적으로 응용 프로그램에 상대적으로 단순하게 만듭니다.

코드의 루트 디렉터에서만해야 할 것은 앱 디렉토리, 프로젝트 디렉토리 및 manage.py입니다. 프로젝트 디렉토리 (설정, 템플릿, 정적 파일 등)는 프로젝트 디렉토리에 있어야합니다.

즉, STATIC_ROOTmyproject/static을 가리켜 야하지만 수동으로 그 디렉토리를 만들거나 수동으로 아무것도 넣지 마십시오. 특정 응용 프로그램에 연결된 정적 파일은 해당 응용 프로그램의 static 디렉토리에 있어야합니다. 프로젝트 전체의 정적 파일은 완전히 다른 디렉토리 (STATIC_ROOT 또는 MEDIA_ROOT과 같지 않음)에 있어야합니다. 그런 다음 해당 디렉토리를 STATICFILES_DIRS에 추가하면 Django collectstatic 관리 명령을 개발하고 실행할 때 포함됩니다.