跳转到主要内容

用于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。

查看源代码以获取更多装饰器。

开发

开发在bitbucketgithub上进行。

如果您发现了一个错误或有一个新装饰器的想法,请随意打开一个工单和/或发送一个拉取请求。

项目详情


下载文件

下载您平台对应的文件。如果您不确定选择哪个,请了解更多关于安装包的信息

源代码分发

django-admin-decorators-0.1.tar.gz (3.6 kB 查看哈希值)

上传于 源代码

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面