장고 - 관리자 - 추가 된 관리자 추가를 제공하는 장고 응용 프로그램입니다. 여기에 함께 번들들에 대한 해결책, 모든입니다.
설치
당신 settings.INSTALLED_APPS에 'admin_additions'를 추가합니다.
그런 다음 사용하려는 추가 구성합니다. 기본 설정이 표시됩니다 :
ADMIN_ADDITIONS = {
& NBSP; 'RETURN_TO_FILTERED_CHANGELIST'거짓,
& NBSP; 'SAVE_ON_TOP': 사실,
& NBSP; 'LIST_SELECT_RELATED'거짓,
& NBSP; 'FULLY_DYNAMIC_FORMSETS': 참
}
설정
RETURN_TO_FILTERED_CHANGELIST
객체를 편집 할 때, 당신은 일반적으로 생겨난 다시 필터링 된보기로 되돌리려.
이것은 ModelAdmin 기본 클래스에 정상 change_view 방법을 보완 원숭이 패치이며, 그것은 다시 참조 뷰 POST 후에 반환되도록.
관리자 변경보기에서 양식을 제출 한 후 필터링 된보기로 반환하는이 방법은 크게 발췌문 2531 http://djangosnippets.org/snippets/2531/ 기반으로합니다.
SAVE_ON_TOP
기본이어야한다 : 모든 change_view의 상단에 도구 모음을 저장 표시합니다.
LIST_SELECT_RELATED
change_list에 대한 모든 쿼리에 대해 () .select_related 자동 켭니다. 당신이 표시 열을 변경하고, 어떤 검색 조회를 할 경우, 이것은 좋은 생각이다.
FULLY_DYNAMIC_FORMSETS
당신이 빈 formsets을하는 대신 추가 버튼을 사용하므로, 0 InlineModelAdmin에 여분의 값을 설정합니다.
기능 패치
patch_model_admin (모델, patch_function)
설치 ModelAdmin 패치. 이 후 다시 등록을 패치하고, 등록 취소를 포함한다. 당신은 모델 또는 형식 "app_label.ModelName"의 캐릭터, 그리고 가지고 ModelAdmin 클래스를 패치하는 기능에 통과 할 수있다.
당신이 클래스에 전달을 기반으로 새로운 클래스를 작성하는 경우에, 당신은 그것을 반환 할 수 있습니다 후 재 등록에서 사용됩니다. 당신은 단순히 기존의 클래스를 패치하면 아무것도 돌려주지 수 있으며, 패치 원래 클래스가 사용됩니다.
admin_additions.patchers 수입 patch_model_admin에서
데프 patcher_function (model_admin) :
& NBSP; # 여기에 물건을.
& NBSP; model_admin.form = MyClassyForm
& NBSP; 반환 model_admin 번호는 선택 사항 : 당신은 패치를 할 수있는 장소
patch_model_admin (MyModel, patcher_function)
add_inlines (모델, * 인라인)
ModelAdmin 패치의 간단한 / 일반적인 경우 - 새 인라인을 추가를 :
django.contrib 수입 관리자에서
admin_additions.patchers 수입 add_inlines에서
모델 가져 오기 푸에서
클래스 FooInline (admin.StackedInline) :
& NBSP; 모델 = 푸
add_inlines ( 'bar.Bar', FooInline)
여러 인라인을 통과 할 수있다.
또한 모델 또는 관리자 인라인의 조합에 통과 할 수있다 : 모델이 수신되면, 그것은 그 모델에 대한 StackedInline을 생성합니다.
add_actions (모델, * 조치)
마찬가지로 인라인에 대한,하지만 작업을 추가합니다.
@patch_admin (모델)
함수를 장식 할 수있는 장식은 패치 할 수 있습니다.
admin_additions.patchers 수입 patch_admin에서
@patch_admin (모델)
데프 patcher_function (model_admin) :
& NBSP; model_admin.form = MyClassyForm
이 구문은 위의 patch_model_admin 기능보다 terser입니다
이 요구 사항 : 있습니다.
파이썬
장고
댓글을 찾을 수 없습니다