2013-06-07 1 views

답변

-1

내가 아는 한, 짧은/직접적인 방법은 없지만,이를 달성하기 위해 짧은 발췌 문장을 작성할 수있다. 이것은 이것을 처리하는 데 사용하는 스 니펫입니다. 하지만 관리자 파일을 일부 수정해야합니다.

somefile.py 그런

from django.contrib import admin 


def admin_register(namespace): 
    for name, model_admin in namespace.copy().iteritems(): 
     if name.endswith("Admin"): 
      model = namespace[name[:-5]] 
      try:admin.site.register(model, model_admin) 
      except:raise 

당신이 당신의 admin.py 파일을 편집하고처럼 관리 clasess의 모든 Admin 접미사를 추가해야합니다

admin.py

from somefile import admin_register 

class SomeModelAdmin(admin.ModelAdmin): 
    pass 

admin.py 파일의 끝에,이 글로벌 네임 스페이스에 정의 된 모든 클래스, 함수 및 변수를 가지고 Admin로 끝나는 사람을 선택합니다

admin_register(namespace=globals()) 

다음을 추가합니다. 각 관리 파일의 끝에이 행을 포함시켜야합니다.

Admin 클래스 정의의 경우 Admin 클래스에 특성을 지정하지 않으려면 pass을 작성하십시오. 관리자 패널에 표시하려는 관리자 클래스를 추가하기 만하면됩니다.

+0

정말 고마워요. – Pradeep