为决哥管理额外装饰
django-admin-decorators的Python项目详细描述
Django的管理员接受列表显示和只读字段的可调用项。 以便自定义这些可调用项(例如,用说明注释它们) django要求开发人员在可调用的 (例如“简短描述”)。这是一个简单的方法,而且有效。
但是很容易犯错误或者忘记应该设置什么属性 在可调用的上,因为没有自动完成。
这个应用程序提供了另一种(decorator)语法 对自定义django管理有用的其他装饰器。
安装
pip install django-admin-decorators
用法
from django.contrib import admin from admin_decorators import (short_description, limit_width, boolean, apply_filter, order_field, allow_tags) from myapp.models import MyModel class MyModelAdmin(admin.ModelAdmin): list_display = 'name', '_text', 'has_huge_text', 'html_url' readonly_fields = ['name', 'html_url'] @short_description('The text limited to 100 chars') @order_field('text') @limit_width(100) def _text(self, obj): return obj.text @boolean @short_description('The text is huge') def has_huge_text(self, obj): return len(obj.text) > 100 @short_description('link') @order_field('url') @allow_tags @apply_filter('urlize') def html_url(self, obj): return obj.url admin.site.register(MyModel, MyModelAdmin)
注意allow_tagsdecorator将结果标记为安全,因此它将是html 在列表显示和只读字段中。
请查看更多装饰程序的源代码。