2011-09-01 3 views
1

레일에서 장고로 전환하여 내 마음을 넓히고 싶습니다. 질문이 내 마음에 찔 렸습니다.Django Apps가 정확히 무엇입니까

나의 취미 기반 개발 방식이 패치 앤드 글래스이기 때문에 My Rails 앱은 상당히 혼란 스럽습니다. Django가 프로젝트와 앱 사이를 쪼개는 것을 나는 일찍 보았습니다. 그들의 사이트에 따르면 프로젝트는 많은 앱으로 만들어졌고 하나의 앱은 많은 프로젝트에 사용될 수 있습니다.

내 사이트 영역 사이의 선이 더 명확 해 지므로이 점이 나에게 흥미 롭다. 더 많은 예제와 정보를 찾으려고했지만 내 질문에 대답 할 수 없습니다.

이러한 앱의 크기는 얼마입니까? 그들은 밀접하게 상호 작용할 수 있습니까?

예를 들어 사용자 프로필을 처리 할 앱이 하나 있고 스마트 폰 사용자가 보낸 블로그 게시물 및 댓글을 처리 할 다른 앱이 있습니까? (내 사이트에서 사용자는 여러 프로필을 가진 여러 블로그를 가질 수 있습니다.) 아니면 다른 용도로 사용 되나요?

답변

6

django 앱은 python 패키지의 멋진 이름입니다. 정말로, 그게 다야. 다른 파이썬 패키지와 장고 앱을 구분할 수있는 유일한 점은 settings.py의 목록에 나타나는 INSTALLED_APPS 목록에 템플릿, 모델 또는 다른 장고가 자동으로 발견 할 수있는 기타 기능이 포함되어 있기 때문에 의미가 있다는 것입니다. 풍모.

좋은 django 응용 프로그램은 단 한 가지 일을하고, 잘 수행하며, 사용할 수있는 다른 응용 프로그램과 밀접하게 결합되지 않습니다. 이 규칙을 따르는 contrib 네임 스페이스에 django와 함께 다양한 응용 프로그램이 제공됩니다.

예를 들어, 앱을 개발하는 좋은 방법은 사용자 프로필 용 (또는 기존 프로필 앱 중 하나를 사용), 블로그 게시물 용 앱 하나 (이미 이미 사용하고있는 앱 중 하나), 블로그 게시물과 별도로 (이 경우 기존 앱을 사용할 수있는) 댓글 용 앱 하나, 그리고 서로에게 직접 의존하지 않아야하므로 3 가지를 하나로 묶는 매우 작은 앱입니다.

+0

내가 종종 궁금해했던 한 가지 .. 모델을 많이 만들고 내 자신의 관리 사이트 (기존 사이트를 재사용하지 않음)를 만들고 공용 사이트를 갖게하고 API가 있어야한다면 모델을 하나의 앱으로 만들고 나머지는 개별 앱으로 만듭니다. 그러면 다른 사람들과 모델 앱을 공유하고 필요할 경우 다른 호스트에서 제공 할 수 있습니까? – shawnwall

0

프로젝트는 기본적으로 프로젝트가 프로젝트에서 ... 사는 곳입니다 당신이 설정하여 URL의 프로젝트 설정 등

앱은 자신의 데이터 모델과 뷰는 프로젝트 내에서 사용되는 정의합니다. 원한다면 프로젝트 사이에서 이동할 수 있습니다.

장고 사이트에서 tutorials을 실행하는 것이 좋습니다. 그러면 장고 사이트에서 프로젝트와 응용 프로그램, 관리 방법, 관리 패널 사용 방법, 여러 프로젝트에서 응용 프로그램을 사용 가능하게 만드는 방법 등을 보여줍니다. .

0

포털 = A 장고 프로젝트

광고 시스템, 갤러리 사진, 제품 카탈로그 = 애플 리케이션

1

의 앱들을 재사용하는 것입니다 사용의 목적. 장고 좋아해 DRY principle DRY는 DO NOT repeat yourself을 나타냅니다.

앱은 가능한 한 작고 느슨하게 결합되어야합니다. 따라서 앱은 다른 앱이 제대로 작동하지 않아야합니다.

장고는 각 테이블마다 앱을 작성하도록 권장하고 있습니다 (항상 그렇지는 않지만 앱을 성장하자마자 테이블을 분할하여 앱을 페어링해야합니다. 그렇지 않으면 앱을 유지 관리하는 데 어려움이 있습니다. 암호.)

예를 들어 사용자 용 앱, 판매용 앱, 댓글 용 앱, 기사 용 앱을 만들 수 있습니다. 코드를 유지하는 것이 더 쉬울 것이고, 올바르게했다면 다른 project에서 앱을 조금 수정하여 사용할 수 있습니다.

Project의 컴파일은 app입니다. 사용자 앱, 기사 앱, 댓글 앱을 함께 사용하여 프로젝트를 만들거나 다른 말로하면 웹 사이트를 만들 수 있습니다. 당신이 장고를 배우고 싶다면

, 난 당신이 체크 아웃하는 것이 좋습니다 : 조언

http://www.djangobook.com/

http://docs.djangoproject.com/


한 단어, 는 어떤 경우에도하지을 복사 /풀. 코드가 실패 할뿐만 아니라 코드가 수행하는 작업을 알지 못합니다. 프로젝트에서 누군가 elses 코드를 사용하려는 경우 적어도 유형이이면 코드가하는 일을 이해하게 만들거나 적어도 아이디어를 제공합니다.

자신의 코드를 작성하는 것이 항상 유지 보수에 더 좋지만, 이것이 세상을 재발 명해야한다는 의미는 아니며 라이브러리를 사용할 수 있고 설명서를보고 올바르게 사용할 수 있습니다.

문서, 자습서는 가장 친한 친구입니다.

행운을 빈다.