Python 覆盖Django 1.8中现有的模板标记方法
我试图在Django的Admin中的更改列表上进行一些CSS定制。更具体地说,在表格结果上 我正在尝试向表的Python 覆盖Django 1.8中现有的模板标记方法,python,django,Python,Django,我试图在Django的Admin中的更改列表上进行一些CSS定制。更具体地说,在表格结果上 我正在尝试向表的tds添加一些CSS和标记 问题是这部分代码隐藏在模板标记(django/contrib/admin/templatetags/admin\u list.py)中,而不是模板本身(/templates/admin/change\u list\u results.html) 我能够覆盖模板并进行一些更改,但我真的需要知道如何将模板标记“继承”到我的项目目录,而不是直接将更改应用到Django
td
s添加一些CSS和标记
问题是这部分代码隐藏在模板标记(django/contrib/admin/templatetags/admin\u list.py
)中,而不是模板本身(/templates/admin/change\u list\u results.html
)
我能够覆盖模板并进行一些更改,但我真的需要知道如何将模板标记“继承”到我的项目目录,而不是直接将更改应用到Django的模板标记目录
我试着按照这些建议去做,但没有一个对我起作用
我发现需要在admin\u list.py
中的items\u for\u result
方法中进行更改
问题是这是如何被推翻的items\u for\u result
是一个内部方法,它未在标记库中注册,因此无法从模板中调用
那么:我如何覆盖它并告诉Django不要使用旧方法,而是我指定的方法呢?恐怕这种更改不容易做到。要覆盖此方法,您需要修改Django源代码。但不推荐这样做 如果只是CSS/HTML更改,可以通过使用JavaScript添加样式来实现。有一种简单的方法可以通过创建自定义表单并向Meta类添加新的JS文件,将自定义JS添加到管理中
请看一看和示例。谢谢Coffee先生,是的,我最近一直在处理表单,并且一直在编写自己的小部件。这解决了我的问题,尽管覆盖任何Django类或方法而不覆盖源代码会很好。