用于django admin的额外装饰器
项目描述
Django的admin接受用于list_display和readonly_fields的可调用对象。为了自定义这些可调用对象(例如,用描述注解它们),Django要求开发者设置可调用对象的属性(例如,“short_description”)。这是一个简单的方法,而且它有效。
但是,由于没有自动补全,很容易出现拼写错误或忘记应该设置什么属性在可调用对象上。
此应用程序提供了替代(装饰器)语法,以及一些用于自定义Django admin的有用装饰器。
安装
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_tags装饰器将结果标记为安全,因此它将在list_display和readonly_fields中都是HTML。
查看源代码以获取更多装饰器。
开发
如果您发现了一个错误或有一个新装饰器的想法,请随意打开一个工单和/或发送一个拉取请求。
项目详情
关闭
django-admin-decorators-0.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | cdb2393fa9de145cbba91fb2cc7281ffab2e6becd294f2f19960e1711ff736bf |
|
| MD5 | 2e7670f4266641444896a897b8ce2a38 |
|
| BLAKE2b-256 | e5078825af3c4edd247eda5332483dd1794f8e5e7b7868d88479ecfb620a96de |