2009-09-17 3 views
10

Django Admin을 조금 더 잘 이해하려고 시도하지만 장고 문서가 약간 부족한 경우 (또는 아마도 이해할 수있는 능력이 있음).Django Admins Fieldsets

필드 세트를 사용하여 특정 관리 페이지의 레이아웃을 제어 할 수 있다는 것을 알고 있습니다. 내가 파악할 수없는 것은 필드 세트 이름입니다. 내가이에서 다음

Class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'City') 

으로 다음 클래스

Class Demo(model.Model): 
    name = models.CharField(max_length=150) 
    address = models.CharField(max_length=150) 
    city = models.CharField(max_length=50) 
    zip = models.CharField(max_length=15) 

및 및 관리 클래스가있는 경우

, 인위적인 예이기는하지만, 나는 가능한 어떤 필드 셋을 사용할 수 있을까?

+0

필드 세트의 길을 가기 전에 복잡한 모델을 원할 수도 있습니다. 개인적으로, 나는 fieldsets의 문서화가 꽤 좋다고 생각한다 : http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

나는 그것이 될 것이라고 동의 할 것이다. 더 복잡한 모델에 더 적절합니다. 이것은 내 실제 모델이 아닙니다. 설명서에 관해서는 .. 나는 실제로 필드 집합 이름이 무엇인지 알려주는 것을 찾을 수 없었습니다. 즉, 모든 변수 이름이 필드 집합 이름이됩니다. "buitl-in"필드 집합은 무엇입니까? – Consiglieri

+0

필자는 필드 세트가 무엇인지 오해했다고 생각합니다. 모델 관리 페이지에서 필드를 그룹화 할 수있는 유일한 방법입니다. 설명서에 예제를 구현하기 만하면됩니다. – orwellian

답변

26

시도해보십시오. 그러면 모양/작동 방식이 곧 표시됩니다.

class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'city') 
    fieldsets = (
     ('Standard info', { 
      'fields': ('name') 
     }), 
     ('Address info', { 
      'fields': ('address', ('city', 'zip')) 
     }), 
    ) 

편집 할 변경 페이지로 이동하면 이름 상자에 "표준 정보"라는 상자 하나가 표시됩니다. 그러면 주소 입력란에 '주소 정보'라고 쓰여진 상자와 같은 줄에 도시와 우편 번호 입력란이 생깁니다.

+0

고마워, 소용돌이 치다! – Consiglieri

+3

@Consiglieri 정상적으로 작동하는 경우 "수락 대답"버튼을 클릭하십시오 :) –