Django管理员,将动作显示为按钮

时间:2016-05-19 09:10:58

标签: django python-3.x django-templates django-admin

在Django admin中,有一个操作的下拉列表。

我想要实现的是摆脱下拉列表和“转到”按钮,而是将我的操作显示为按钮。

怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:3)

在静态目录中创建一个js文件action_buttons.js

(function ($) {

    function fix_actions() {
        var container = $('div.actions');

        if (container.find('option').length < 10) {
            container.find('label, button').hide();

            var buttons = $('<div></div>')
                .prependTo(container)
                .css('display', 'inline')
                .addClass('class', 'action-buttons');

            container.find('option:gt(0)').each(function () {
                $('<button>')
                    .appendTo(buttons)
                    .attr('name', this.value)
                    .addClass('button')
                    .text(this.text)
                    .click(function () {
                        container.find('select')
                            .find(':selected').attr('selected', '').end()
                            .find('[value=' + this.name + ']').attr('selected', 'selected');
                        $('#changelist-form button[name="index"]').click();
                    });
            });
        }
    };

    $(function () {
        fix_actions();
    });
})(django.jQuery);

将上面的代码复制到js文件

在admin class中的admin.py下添加

class Media:
    js = ('path/to/action_buttons.js', )