Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 覆盖Django 1.8中现有的模板标记方法_Python_Django - Fatal编程技术网

Python 覆盖Django 1.8中现有的模板标记方法

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

我试图在Django的Admin中的更改列表上进行一些CSS定制。更具体地说,在表格结果上

我正在尝试向表的
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类或方法而不覆盖源代码会很好。