Socket
Socket
Sign inDemoInstall

django-admin-decorators

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    django-admin-decorators

Extra decorators for django admin


Maintainers
1

Readme

======================= django-admin-decorators

Django's admin accepts callables for list_display and readonly_fields. In order to customize these callables (e.g. annotate them with a description) django requires developer to set an attribute on a callable (e.g. 'short_description'). This is a simple approach and it works.

But it is easy to make a typo or to forget what attribute should be set on a callable because there is no autocompletion.

This app provides an alternative (decorator) syntax for that + a couple of other decorators useful for customizing django admin.

Installation

::

pip install django-admin-decorators

Usage

::

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)

Note that allow_tags decorator marks result as safe so it will be html both in list_display and readonly_fields.

Take a look at source code for more decorators.

Development

Development happens at bitbucket <https://bitbucket.org/kmike/django-admin-decorators>_ and github <https://github.com/kmike/django-admin-decorators>_.

If you've found a bug or have an idea for a new decorator feel free to open a ticket and/or send a pull request.

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc