django-admin

How do I add a custom button to the admin listing?


What I want is to put a custom button in each row of a page of the admin listing.
These buttons will have a function associate to it acting over that line.
I've already knew the "admin actions", but it's not what I want, ok?

Thank you!


Solution

  • You can declare in your ModelAdmin a function to generate the html for your button, e.g.

        def button(self, obj):
            return mark_safe('<input type="...">')
        title.short_description = 'Action'
        title.allow_tags = True
    

    And then put it in your in your list_display-tuple.

    class MyAdmin(admin.ModelAdmin)
        list_display=('name', 'button')
    

    http://docs.djangoproject.com/en/dev/ref/contrib/admin/#modeladmin-options