在Django 1.8

时间:2015-09-27 00:37:41

标签: python django

我正在尝试在Django的Admin中的Change List上进行一些CSS自定义。更具体地说是表格结果。

我正在尝试将一些CSS和标记添加到表格的td中。

问题是该部分代码隐藏在模板标记内(django/contrib/admin/templatetags/admin_list.py)而不是模板本身(/templates/admin/change_list_results.html

我能够覆盖模板并进行一些更改但我真的需要知道如何“继承”模板标签到我的项目目录,而不是直接将更改应用到Django的模板标签目录。

我尝试了这些建议,但至少对我来说都没有。

Extending Django Admin Templates - altering change list

我发现需要在items_for_result内的admin_list.py方法内部进行更改。

这是怎么被覆盖的? items_for_result是一个内部方法,它没有在标记库中注册,因此无法从模板中调用它。

那么:如何覆盖它并告诉Django不要使用旧方法,而是指示我指示的方法?

1 个答案:

答案 0 :(得分:0)

我担心这种改变不能轻易完成。要覆盖此方法,您需要修改Django源代码。但不建议这样做。

如果只有CSS / HTML更改,您可以通过使用JavaScript添加样式来实现。通过创建自定义表单并向Meta类添加新的JS文件,可以通过一种简单的方法将自定义JS添加到管理员。

查看docs和示例here