저는 Google App Engine이 출시 되 자마자 애플리케이션을 시작하여 기술을 가지고 놀면서 오랫동안 생각해 왔지만 시작하지 못한 애완 동물 프로젝트를 수행했습니다. 결과는 BowlSK 입니다. 그러나 성장하고 기능이 추가됨에 따라 구성을 유지하는 것이 정말 어려웠습니다. 주로 이것이 저의 첫 번째 파이썬 프로젝트라는 사실 때문이며 작업을 시작하기 전까지는 그것에 대해 아무것도 몰랐습니다.
내가 가진 것 :
- 메인 레벨은 다음을 포함합니다 :
- 모든 .py 파일 (패키지 작동 방법을 몰랐 음)
- 기본 수준 페이지를위한 모든 .html 템플릿
- 하위 디렉토리 :
- css, images, js 등을위한 별도의 폴더
- 하위 디렉토리 유형 URL에 대한 .html 템플릿이있는 폴더
예 :
http://www.bowlsk.com/ 은 홈페이지 (기본 패키지)에 매핑 되고 "index.html"의 템플릿은
http://www.bowlsk.com/games/view-series.html?series=7130에 매핑됩니다. ViewSeriesPage (다시 말하지만 기본 패키지), "games / view-series.html"의 템플릿
끔찍 해요. 어떻게 재구성합니까? 두 가지 아이디어가 있습니다.
주요 폴더 : appdef, indexes, main.py?
- 코드의 하위 폴더입니다. 이것이 내 첫 번째 패키지 여야합니까?
- 템플릿의 하위 폴더. 폴더 계층이 패키지 계층과 일치합니다.
- css, images, js 등의 개별 하위 폴더
appdef, indexes, main.py를 포함하는 메인 폴더?
- 코드 + 템플릿의 하위 폴더입니다. 이렇게하면 템플릿 바로 옆에 핸들러 클래스가 있습니다.이 단계에서는 많은 기능을 추가하고 있으므로 하나의 수정은 다른 하나의 수정을 의미합니다. 다시 말하지만이 폴더 이름이 내 수업의 첫 번째 패키지 이름이되어야합니까? 폴더를 "src"로하고 싶지만 클래스가 "src.WhateverPage"가되는 것을 원하지 않습니다.
모범 사례가 있습니까? 장고 1.0이 다가 오면 공식 GAE 템플릿 엔진이되었을 때이를 통합하는 능력을 향상시킬 수있는 방법이 있습니까? 나는 단순히 이러한 것들을 시도하기 시작하고 어느 것이 더 좋아 보이는지 보지만 pyDev의 리팩토링 지원은 패키지 이동을 잘 처리하지 않는 것 같으 므로이 모든 것을 다시 작동시키는 것은 사소한 작업이 아닐 것입니다.