Поля | Слова
---|---|---
Панель администратора | Панель администратора
Декоратор | декоратор
Метод | метод
Контекстный менеджер | контекстный менеджер
actions | действия
list_display | list_display
display | display
admin.model.register() | admin.model.register()
Текст
Панель администратора в Django имеет очень гибкую настройку. Она предоставляет возможность использовать методы модели, вместо ее конкретных полей. Это бывает удобно, когда информация в поле требует более удобочитаемого вида. Чтобы зарегистрировать метод в качестве поля для отображения в админке, используется специальная функция декоратора, которая находится в модуле admin. Данная функция используется в качестве контекстного менеджера над методом, который необходимо отображать в админке. После применения декоратора можно просто передать название метода в переменную list_display и фреймворк отобразит это в качестве отдельного поля.
Пример
В следующем примере мы регистрируем метод my_method() модели Post в качестве поля для отображения в админке:
Python
from django.contrib import admin
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'my_method')
def my_method(self, obj):
return obj.my_method()
admin.site.register(Post, PostAdmin)
Используйте код с осторожностью. Подробнее…
В результате, в админке будет отображаться следующее поле:
Title | My method
------- | --------
This is a post title | This is the output of my_method()
_____в Django имеет очень гибкую настройку. Она предоставляет возможность использовать модели, вместо ее конкретных полей. Это бывает удобно, когда информация в поле требует более удобочитаемого вида. Чтобы зарегистрировать метод в качестве поля для отображения в админке, используется специальная функция _______ , которая находится в модуле admin. Данная функция используется в качестве __________ над методом, который необходимо отображать в админке. После применения декоратора можно просто передать название метода в переменную ________ и фреймворк отобразит это в качестве отдельного поля.
Контекстный менеджер,Метод,Декоратор,Панель администратора,actions,admin.model.register(),list_display,display,action.