Skip to main content

Add toolbar in every item line in django's changelist view, and on top of django's changeform view.

Project description

django-object-tools-admin

Add toolbar in every item line in django's changelist view, and on top of django's changeform view.

Install

pip install django-object-toolbar-admin

Usage

pro/settings.py

INSTALLED_APPS = [
    ...
    'django_static_fontawesome',
    'django_object_toolbar_admin',
    ...
]
  • Add django_static_fontawesome and django_object_toolbar_admin applications in INSTALLED_APPS.

app/admin.py

from django.contrib import admin
from django_object_toolbar_admin.admin import DjangoObjectToolbarAdmin
from .models import Category

class CategoryAdmin(DjangoObjectToolbarAdmin, admin.ModelAdmin):
    list_display = ["name", "django_object_toolbar", "my_toolbar"]

    django_object_toolbar_changeform_buttons = [
        "print",
        "export",
        "bye",
    ]
    # define default toolbar
    django_object_toolbar_buttons = [
        "print",
        "export",
        'bye',
    ]

    def print(self, obj):
        return "/print"
    print.icon = "fas fa-print"
    print.title = "Print"
    print.help_text = "Print the object information..."
    
    def export(self, obj):
        return "/export"
    export.icon = "fas fa-save"
    export.title = "Export"

    # define my toolbar
    def my_toolbar(self, obj):
        return self.get_django_object_toolbar("my_toolbar_buttons", obj)
    my_toolbar.short_description = "My Toolbar"

    my_toolbar_buttons = [
        "delete",
        "say_hi",
    ]

    def delete(self, obj):
        return "/delete"
    delete.icon = "fas fa-trash"
    delete.title = "Delete"

    def say_hi(self, obj):
        return "javascript:alert('hi {}');".format(obj.pk)
    say_hi.icon = "fas fa-music"
    say_hi.title = "Say Hi!"

admin.site.register(Category, CategoryAdmin)
  • Buttons in django_object_toolbar_changeform_buttons will display on top of changeform view.
  • Buttons in django_object_toolbar_buttons or my_toolbar_buttons will display in every line in changelist view. You need to put django_object_toolbar or my_toolbar in list_display.
  • A button can be a method of admin or a method of model instance.
  • A button method returns the link of the button.
  • A button method tasks extra configs:
    • button.title
    • button.icon
    • button.help_text
    • button.target
    • button.klass

Releases

v0.1.0

  • First release.

v0.1.1

  • Fix Button.from_dict calling problem.
  • Add i18n.
  • Add app_requires.

v0.1.2

  • Doc update.

v0.1.3

  • Doc update.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_object_toolbar_admin-0.1.3.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_object_toolbar_admin-0.1.3-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file django_object_toolbar_admin-0.1.3.tar.gz.

File metadata

File hashes

Hashes for django_object_toolbar_admin-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e2570888b256adabcd748870777a494d5bfdcc91fd0e0763c78b61135e07e400
MD5 60554746ab4f0b1c90537fa1f3877add
BLAKE2b-256 06c3542cba84ca93b51e27c049b3ad018fd17c915a63d5191e9e6fd8632596b8

See more details on using hashes here.

File details

Details for the file django_object_toolbar_admin-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for django_object_toolbar_admin-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 62e747de0ae90aed288be3163eef1024ee7e215016b7529ffd406bd58f774729
MD5 fe169b725bc1ccb41e2c2eaf554c1779
BLAKE2b-256 0c4a5b727a86c7c95f36bb2550e720963b609179579c79cb4d9cff0bf58d02cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page