사용자가 제공 한 많은 콘텐츠 (게시물, 그림, 이벤트 등)가있는 웹 사이트를 재구성하고 있습니다. 이 내용은 섹션 (음악, 상점 등)에 해당합니다. 즉 정상적인 CMS입니다.django : CMS에 대한 재귀 적/트리 모양의 URL 매핑?
각 콘텐츠가 기본 콘텐츠 개체 (다중 테이블 상속)로부터 상속 받기를 원합니다. 이 모든 내용을 쉽게 조회 할 수 있음을 의미하고 단정하고 확장 가능한 (그리고 필요 'CREATED_BY이 (가) 작성한', '제목', '슬러그'등 같은 모든 기본적인 물건을 다시 쓰기 없음)
ContentObj
> Blog Post obj
> Event Post obj
> Podcast Post obj
> ... etc.
예쁜 straightfoward.
조직과 관련하여 다양한 콘텐츠 개체/모델에는 섹션에 할당 할 수있는 옵션이 있어야합니다 (즉, 팟 캐스트 개체는 '음악'아래에 있음). 또는 섹션이 상위 섹션 ('단어> 블로그> 일반>')에 할당 될 수 있어야합니다. 다시 이것은 CMS에서 꽤 늪지대의 표준 아이디어입니다.
이상적으로는 콘텐츠와 관련된 일반적인 솔루션을 보유하고있는 것처럼 완전히 일반적인 솔루션을 이와 같이 조직하고 싶습니다. 나는 각 노드가 섹션이거나 content object 모델 인 tree-like 구조를 생각하고있다.
root
> section1
> subsection 1 > contentobj1
> subsection 2 > contentobj2
> section2
> contentobj3
> contentobj4
이 일반 설정의 목표는 매우 DRY-esqe URL 스키마와 템플릿 시스템을 갖추는 것입니다. 두세 개의 템플릿 만 있으면됩니다. 사용자가 요청한 URL에 따라 페이지를 채우고/blog ///와 같은 URL을 하드 코딩 할 필요가 없습니다.
데이터베이스 기반 응용 프로그램에서이 트리 구조를 작성하는 방법을 이해하는 데 문제가 있습니다. 컨텐트 모델을 할당 할 수있는 모델 섹션을 쉽게 가질 수 있습니다. 그러나 하위 섹션에 관해서는 조금 까다 롭습니다. 또한 URL 스키마를 추상화하여 섹션에 실제로 하드 코딩하지 않고도 콘텐츠 객체를 가리키는 하위 섹션을 여러 개 가질 수있는 방법은 무엇입니까?
기본적으로 콘텐츠와 조직이 분리 된 구조/스켈레톤과 URL/템플릿 스키마를 작성하여 실제 콘텐츠와 완전히 구분됩니다. 이전에는 블로그 앱, 이벤트 앱이 있었지만 사이트의 모든 콘텐츠를 관리하는 콘텐츠 앱이 있어야하고 섹션을 관리하는 조직 앱일 수도 있습니다.
나는 mptt를 한번도 본 적이 없지만, treebeard는 이것을 읽으면 즉시 마음에 떠올랐다 ... – meshantz
나는 나무 mptt와 함께 일한 두 번 모두 이미 프로젝트에서 구현되었으므로 treebeard를 사용할 기회가 없었다. – zsquare
둘 다 마치 나무와 같은 구조 즉, 섹션 –