django - 为组管理页面调整水平过滤器的大小

时间:2016-09-13 05:26:53

标签: django

我正在尝试调整默认组管理页面的水平过滤器的大小,因为它太小了。 这是我尝试过的: admin.py:

class GroupAdmin(admin.ModelAdmin):
    filter_horizontal = ('permissions',)
    class Media:
        js = ('js/group_admin.js',)

admin.site.unregister(Group)
admin.site.register(Group, GroupAdmin)

group_admin.js:

$(function() {
  $("#id_permissions_from").css("height", 600);
  $("#id_permissions_from").css("overflow", "scroll");
  $("#id_permissions_to").css("height", 600);
  $("#id_permissions_to").css("overflow", "scroll");
})

它没有调整大小,也没有显示任何javascript错误。 如果我在控制台中运行上面的javascript它工作正常;因此javascripts的加载顺序肯定有问题。 我正在使用django 1.8。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用.js或.css也可以。

尝试使用js:

$(document).ready(function(){
      $("#id_permissions_from").css("height", 600);
      $("#id_permissions_from").css("overflow", "scroll");
      $("#id_permissions_to").css("height", 600);
      $("#id_permissions_to").css("overflow", "scroll");
})

或使用.css,但您还将css添加到班级媒体

#id_permissions_from{
    "height": 600;
    "overflow": "scroll";
}
#id_permissions_to{
    "height": 600; 
    "overflow": "scroll"
}

你的管理员课程应该是这样的

class Media:
        js = ('js/admin/my_own_admin.js',)    
        css = {
             'all': ('css/admin/my_own_admin.css',)
        }

答案 1 :(得分:0)

我无法找到解决问题的正确方法,所以这里有一个解决方法:

function resize(){
  $("#id_permissions_from").css("height", 600);
  $("#id_permissions_from").css("overflow", "scroll");
  $("#id_permissions_to").css("height", 600);
  $("#id_permissions_to").css("overflow", "scroll");
}

$(function() {
  setTimeout(function() {
    resize()
  }, 1000);
  //resize();
})