2015-01-14 2 views
0

내 장고 관리 사이트에서 모델의 첫 글자를 소문자로 변환하는 방법을 찾고 있습니다.Django 관리자 대시 보드, 모델 이름을 소문자로 표시하는 방법이 있습니까?

예 : 모델 자세한 이름은 대시 보드의 "에이전트 1.0.0"로 표시됩니다 "에이전트 1.0.0"

간단하지만

grappelli 트릭도 나를 위해

작동합니다 IDK입니다 .

장고 - 1.7.1

도 - 필요성이 하나의 응용 프로그램 모델 그룹 - 나의 대시 보드의 모든해야 소문자 ... 는 그래서, index.html을 재정의하는 것은 매우 효율적이지 않다

답변

2

대소 문자는 hard-coded in the template이며 templates in Grappelli과 동일합니다.

catavaran의 제안을 사용할 수 있지만 모든 모델 이름이 변형됩니다. 템플리트를 오버라이드하는 것은 엉덩이에 큰 고통을 안겨줍니다. 내가 생각할 수있는

유일한 가능한 솔루션은 공백으로 capfirst 필터를 우회하는 것입니다 만 강제로 첫 번째 문자를 대문자로

class Meta: 
    verbose_name = " agent-1.0.0" 

capfirst으로 첫 번째 문자 편지가 아닌 경우 아무 일도 일어나지 않습니다.

+0

감사합니다, 간단하지만 똑똑하게 유지 :) –

1

템플릿에 으로 전달 된 모델 이름이므로 admin/index.html 임시 직원이나 CSS를 통해 소문자로 입력해야합니다. CSS 옵션이 간단 이럴 : (예 User에 대한) 소문자 일부 모델을 원하는 경우에

div.module tr[class^=model-] th { 
    text-transform: lowercase; 
} 

다음이에 CSS 선택기를 변경합니다

div.module tr.model-user th { 
    text-transform: lowercase; 
} 
+0

고마워,하지만 일부 모델에만 해당 - 내 Q -sorry를 편집합니다. –

+0

대답을 편집했습니다. – catavaran

0

가 Grapelli으로 실행하여 사용자 정의 대시 보드를 만들 수 있습니다 :

python manage.py customdashboard 

사용자 설정에 GRAPPELLI_INDEX_DASHBOARD를 사용자 지정 클래스로 설정하십시오.

이 맞춤 클래스는 grappelli가 제공하는 Dashboard 클래스에서 확장하여 사용자 요구에 우선 적용 할 수 있습니다. 특히 ModelList 클래스에서 모델에 대해 원하는 제목을 지정할 수 있습니다.

+0

당신의 접근 방법에 대해 확신이 없습니다 ... –