it-swarm-ko.tech

Django에서 언제 새 앱을 만들까요 (startapp 사용)?

나는 이것을 둘러 보았지만 여전히 Django "apps"로 정의하는 것과 관련하여 문제가 있습니다.

기본 프로젝트의 모델을 사용하더라도 사이트의 각 기능에 대해 새 앱을 만들어야합니까?

새로운 앱을 언제 분리하고 언제 "주 프로젝트"또는 다른 앱과 함께 기능을 유지할 것인지에 대한 경험이 있습니까?

94
Håkan

James Bennett은 Django에서 재사용 가능한 앱을 구성하는 방법에 대한 훌륭한 슬라이드 세트 를 가지고 있습니다.

42
Antti Rasinen

Django 응용 프로그램을 "응용 프로그램"보다 재사용 가능한 모듈 또는 구성 요소로 생각하고 싶습니다.

이를 통해 특정 기능을 서로 캡슐화하고 분리하여 커뮤니티와 특정 "앱"을 공유하기로 결정한 경우 재사용 성과 유지 관리 성을 향상시킬 수 있습니다.

내 일반적인 접근 방식은 특정 기능 또는 기능 세트를 공개적으로 공개하는 것처럼 "앱"으로 묶는 것입니다. 여기서 어려운 부분은 각 버킷의 크기를 파악하는 것입니다.

내가 사용하는 좋은 요령은 내 앱이 공개적으로 출시 된 경우 어떻게 사용되는지 상상하는 것입니다. 이것은 종종 버킷을 축소하고 "목적"을보다 명확하게 정의하도록 권장합니다.

18
blahspam

다음은 2008 년 9 월 6 일에 업데이트 된 프레젠테이션입니다.

DjangoCon 2008 : 재사용 가능한 앱 @ 7 : 5

슬라이드 : Reusable_apps.pdf

슬라이드에서 가져온

이것이 자체 응용 프로그램이어야합니까?

  • 앱의 초점과 전혀 관련이 없습니까?
  • 내가하고있는 다른 일과 직교입니까?
  • 다른 사이트에서도 비슷한 기능이 필요합니까?

"예"가 있다면? 그런 다음 별도의 응용 프로그램으로 나누는 것이 가장 좋습니다.

13
Yeo

논리적으로 분리 된 각 모델 집합에 대해 새 응용 프로그램을 만드는 경향이 있습니다. 예 :

  • 사용자 프로필
  • 포럼 게시물
  • 블로그 게시물
12
pobk

내가 따르는 규칙은 다른 프로젝트에서 기능을 재사용하려면 새로운 앱이어야한다는 것입니다.

프로젝트의 모델에 대한 깊은 이해가 필요하면 모델에 충실하는 것이 더 응집적일 것입니다.

5
Ryan

웹에서 찾은이 질문에 대한 두 가지 최고의 답변은 다음과 같습니다.

  1. 재사용 가능한 앱 토크 ( 슬라이드 ) ( 비디오 )도 다른 답변에서 언급했습니다. 저자 인 Bennett과 Django 기고자)는 정기적으로 다른 사람들이 사용할 수있는 앱을 게시하며 많은 작은 앱에 대한 강력한 견해를 가지고 있습니다.
  2. = D Django Scale ) 앱 간의 마이그레이션 종속성 그래프.

두 소스 모두 다음과 같은 상황에서 별도의 앱을 만들어야한다는 데 동의합니다.

  • 다른 Django 프로젝트에서 앱을 재사용하려는 경우 (특히 다른 사람이 재사용 할 수 있도록 게시하려는 경우)).
  • 앱과 다른 앱간에 종속성이 없거나 거의없는 경우 앞으로 앱이 자체 마이크로 서비스로 실행되는 것을 상상할 수 있습니다.
2
Jonathan Berger

'앱'은 여러 가지가 될 수 있습니다. 모두 맛이 나옵니다. 예를 들어 블로그를 만들고 있다고 가정 해 봅시다. 앱은 전체 블로그 일 수도 있고, 'admin'앱, 모든 공개 뷰를위한 '사이트'앱, 'rss'앱, '서비스'앱을 통해 개발자가 블로그와 인터페이스 할 수 있습니다. 자신의 방법 등.

나는 개인적으로 블로그 자체를 앱으로 만들고 그 기능을 깨뜨릴 것입니다. 그러면 블로그를 다른 웹 사이트에서 쉽게 재사용 할 수 있습니다.

Django의 좋은 점은 디렉토리 트리의 모든 레벨에있는 models.py 파일을 Django 모델을 포함하는 파일로 인식한다는 것입니다. '앱'자체 내에서 더 작은 '서브 앱'으로 기능을 확장해도 더 어려운 것은 없습니다.

1
willurd