Django admin change_list:更改多个列名

时间:2016-09-07 15:01:53

标签: django django-admin django-1.8

我想在<div id="flexcontainer"> <div class="flexitem"></div> <div class="flexitem"></div> <div class="flexitem"></div> <div class="flexitem"></div> <div class="flexitem"></div> <div class="flexitem"></div> </div>中更改多个列名称。您可以使用list_display使用属性函数执行此操作,如下所示:Django admin listview Customize Column Name。但是,如果我想更改大约25个列标题,这听起来不太实用。

有更有效的方法吗?

1 个答案:

答案 0 :(得分:0)

第一种可行的方法是在admin init方法中生成这25个属性函数。但是现在使用映射字典和JavaScript中的for循环实现了一种更简单的方法:

&#13;
&#13;
function shorten_column_headers() {
  var headers = {
    'list_display_field_name_1': 'shortened description_1',
    'list_display_field_name_2': 'shortened description_2',
    ...
  }
  for (var field in headers) {
    var $col = $('th.column-' + field + '> div.text > a:nth-child(1)');
    $col.text(headers[field]);
  }
}

$(document).ready(function() {
  shorten_column_headers();
});
&#13;
&#13;
&#13;