2010-01-31 10 views
4

저는 하나의 프로젝트에 할당 된 여러 프로젝트와 여러 작업을 가질 수있는 일종의 프로젝트/작업 관리자 인 간단한 응용 프로그램을 작성하고 있습니다.Django에서 클라이언트 관리자를 구현하는 방법은 무엇입니까?

나는이 모든 종류의 작업에 대해 장고 관리자를 활성화했으며 매력적으로 작동합니다. 또한 프로젝트에 할당 된 사용자가 있습니다. 이제 내가 원하는 것은 해당 사용자를 위해 관리자의 버전을 줄이는 것입니다.

  • 자신의 프로젝트에서만 작업을 관리하고 볼 수 있습니다.
  • 자신의 작업 만 삭제할 수 있습니다.
  • 몇 가지 사소한 제한 사항이 있습니다.

가장 좋은 방법은 무엇입니까? 클라이언트 편집 작업을위한 사용자 정의보기 및 페이지가있는 다른 응용 프로그램을 만들어야합니까? 아니면 다른 관리 인스턴스를 삭제하고 해당 관리 인스턴스를 미세 조정해야합니까?

나는 그것이 분명하고 너무 주관하지 않았기를 바랍니다. 감사.

답변

2

이 방법을 사용하는 가장 좋은 방법은 어떻게 든 행 수준 권한을 구현하는 것이라고 생각합니다.
현재 가장 적합한 해결책은 django-granular-permissions입니다.

드미트리 (Dmitry)처럼 맞춤 앱이기도합니다. 일반적인보기를 사용하면 모델 형식 등이 관리 응용 프로그램 (실제로 해킹을 위해 만들어진 것은 아닙니다)을 수정하는 것보다 작업이 줄어들 것입니다.

또한 미래를 염두에두면 더 복잡한 기능/제한이 필요하게되면 문제가 줄어 듭니다.

+1

또한 django-authority는 행 수준의 퍼미션을위한 좋은 옵션처럼 보입니다. Django는 Django 핵심 개발자 인 Jannis Leidel에 의해 작성되었습니다. –

3

+1 맞춤 앱의 경우 해킹 관리자는 자신의 관리자를 일반보기로 구성하는 것보다 더 많은 시간을 할애 할 수 있습니다.

관련 문제