2012-02-05 4 views
1

언제 새로운 앱을 만들지, 아니면 Django 프로젝트에서 models.py, views.py 등을 계속 채울 지 모르겠습니다. 나는 "Question app"을 포함하는 Django 프로젝트를 만들었다.Django 프로젝트의 앱

질문을 관리 할 예정이며 사용자가보고하고 찾아보고 질문을 추가 할 수 있습니다.

관리 페이지와 공개 페이지 하나에 대해 하나의 앱을 만들 수 있습니까? 나는 파이썬 채팅 중입니다 ...

+2

당신은 http://stackoverflow.com/a/4879205/1114171 또는 http://www.b-list.org/weblog/2006/sep/10/django-tips-laying-out-application/을 읽었습니까? –

답변

0

"내 앱이 무엇을합니까? 을합니까?" 그리고 한 문장으로 대답 할 수 없다면 부분으로 나누어야합니다.

그러나 일반적으로 관리 인터페이스와 공개 인터페이스는 동일한 '앱'으로 유지해야하지만 별도로 네임 스페이스를 지정할 수 있습니다.

-- questions/ 
|-- models.py # holds common models, imports models from backend/models.py 
|-- admin.py # admin interface' 
|-- frontend/ 
| |-- urls.py 
| |-- views.py 
| `-- ... 
`-- backend/ 
    |-- urls.py 
    |-- views.py 
    `-- models.py # holds specialist models. set Meta: app_label = 'questions.backend' 

안내 원칙 Aspect Oriented Programming은 관심사의 분리입니다. 즉, 모듈을 가능한 작고 집중적으로 유지해야합니다. 그들은 한 가지만하고 한 가지만해야합니다. root models.py는 자식 모듈에서 임의의 수의 모델을 가져올 수 있으며 앱의 일부로 django에 의해 선택 될 것이므로 모두을 같은 위치에 저장할 필요가 없다고 생각하십시오.

관련 문제