Django-Admin-доповнення є додаток Django, яка забезпечує адміністратора доповнення. Ось рішення для тих ,, все в комплекті разом.
Установка
Додати "admin_additions 'до вас settings.INSTALLED_APPS.
Потім налаштуйте доповнення, які ви хочете використовувати. Налаштування за замовчуванням показані:
ADMIN_ADDITIONS = {
І NBSP; 'RETURN_TO_FILTERED_CHANGELIST ": Брехня,
І NBSP; 'SAVE_ON_TOP ": Правда,
І NBSP; 'LIST_SELECT_RELATED ": Брехня,
І NBSP; 'FULLY_DYNAMIC_FORMSETS ": Правда
}
Налаштування
RETURN_TO_FILTERED_CHANGELIST
При редагуванні об'єкта, ви, як правило, ви хочете повернутися до відфільтрованої зору, звідки ви прийшли.
Це мавпа-патч, який доповнює звичайний метод change_view в базовому класі ModelAdmin, і гарантує, що він повертається після повідомлення Повернутися до якого вони належать зору.
Цей метод повернення до відфільтрованої зору після відправки форми в цілях Change Admin базується в значній мірі Snippet 2531 http://djangosnippets.org/snippets/2531/.
SAVE_ON_TOP
Має бути за замовчуванням: відображення зберегти панель інструментів у верхній частині кожної change_view.
LIST_SELECT_RELATED
Увімкніть автоматичний .select_related () для всіх запитів для change_list. Якщо ви змінили стовпці дисплея, і робити які-небудь запитах загалом, це хороша ідея.
FULLY_DYNAMIC_FORMSETS
Встановлює додаткову цінність на InlineModelAdmin до 0, так що ви просто використовувати кнопку додавання замість того, порожні FormSets.
Виправлення функції
patch_model_admin (модель, patch_function)
Патч встановлений ModelAdmin. Це включає в себе реєстрацією, виправлення, а потім перереєструвати. Ви можете перейти в моделі або рядок виду "app_label.ModelName", і функції, які будуть приймати і залатати клас ModelAdmin.
Якщо ви створюєте новий клас, заснований на прийнятий в клас, то ви можете повернути його: що буде використовуватися в перереєстрації. Якщо ви просто залатати існуючий клас, ви можете повертати, і латка вихідний клас буде використовуватися.
від admin_additions.patchers імпорту patch_model_admin
Def 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
від моделей імпортного Foo
клас FooInline (admin.StackedInline):
І NBSP; Модель = Foo
add_inlines ('bar.Bar', FooInline)
Ви можете пройти кілька Внутрістрочние.
Ви також можете пройти в будь-якій комбінації моделей або адміністратора інлайн: якщо отримав модель, він створить StackedInline для цієї моделі.
add_actions (модель, * дії)
Як для внутрістрочних, але додати дію.
patch_admin (модель)
Декоратор, який може прикрасити функцію, яка буде виправлена.
від admin_additions.patchers імпорту patch_admin
patch_admin (модель)
Def patcher_function (model_admin):
І NBSP; model_admin.form = MyClassyForm
. Цей синтаксис terser, ніж функція patch_model_admin вище
Вимоги
- Python
- Django
Коментар не знайдено