在Django admin中,有一个操作的下拉列表。
我想要实现的是摆脱下拉列表和“转到”按钮,而是将我的操作显示为按钮。
怎么做?提前谢谢。
答案 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', )