저는 웹 기반 대학 포털을 개발중인 팀으로 Django를 기반으로합니다. 우리는 아직 탐색 단계에 있으며 프로젝트/개발 환경을 구축하는 가장 좋은 방법을 찾고 있습니다.대형 Django 응용 프로그램 레이아웃
나의 초기 아이디어는 장고 "app"로 시스템을 개발하는 것이다. 여기에는 시스템의 다른 부분을 구분하는 하위 애플리케이션이 포함되어있다. 이 "하위"응용 프로그램을 만들려고 한 이유는 무엇이든 부모 응용 프로그램 외부에서 사용하지 않으므로 별도로 배포하는 것이 거의 필요하지 않기 때문입니다. 우리는 포털이 여러 위치 (예 : 다른 대학)에 설치되어 메인 앱을 여러 장고 프로젝트에 설치하여 설치할 수 있다고 생각합니다. 따라서 각 위치의 프로젝트마다 다른 저장소가 있습니다. 실제로는 설치된 포털 응용 프로그램을 정의하는 settings.py
파일과 URL을 urls.py
으로 라우팅합니다.
초기 코드를 작성하기 시작했는데 문제가 발생했습니다. 사용자 인증 및 프로파일을 처리하는 코드 중 일부는 집이없는 것 같습니다. 개념적으로 포털 애플리케이션에 속하지 않습니다. 포털 애플리케이션의 기능과 관련이 없기 때문입니다. 그러나 프로젝트 저장소에 갈 수는 없습니다. 각 위치의 저장소를 통해 코드를 복제 할 것이기 때문입니다. 예를 들어이 코드에서 버그를 발견하면 모든 위치의 프로젝트 파일에 대해 수정 프로그램을 수동으로 복제해야합니다.
내 생각은 모든 프로젝트 repos를 "마스터"위치 프로젝트의 포크로 만들어 그 마스터에서 모든 변경 사항을 가져올 수 있도록하는 것입니다. 나는 이것이 지저분하다고 생각한다. 그리고 그것은 내가 볼 수있는 또 하나의 저장소가 있음을 의미한다.
이 프로젝트를 수행하는 더 좋은 방법을 찾고 있습니다. 누구든지 해결책이나 유사한 예를 추천 할 수 있습니까? 문제는 Django 프로젝트이 아닌 프로젝트 인 장고 을 개발하고있는 것 같습니다.
당신은 한 번 봐해야
@ Jack의 답변에서 언급했듯이 : 나는 장고 * 응용 프로그램 *이 아닌 본질적으로 장고 * 프로젝트 *를 개발 중입니다. 따라서 하나의 저장소에서 프로젝트를 구성하고 local_settings.py 트릭을 사용하여 응용 프로그램이 설치된 여러 사이트의 사이트 제목과 같은 항목을 변경해야합니다. –
(조금 늦었지 만 ...) 장고 특유의 물건 (관리자, 타사 앱 등)을 많이 사용하지 않는 한, Flask와 같이 더 낮은 레벨을 고수 할 것입니다. 그렇게하면 일을하는 방식을 완전히 제어 할 수 있습니다.방금 작업 한 더 큰 프로젝트에서 장고를 버렸습니다. 내가하는 모든 일은 Django 방식으로 일을 시도한 후에 문제에 부딪쳐 완전히 관습을 따라야한다. – orokusaki