覆盖django中的管理模板以添加自定义javascript

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了覆盖django中的管理模板以添加自定义javascript相关的知识,希望对你有一定的参考价值。

我有一个模型,我需要在其管理表单中添加一些自定义的javascript处理。

我通过以下指南尝试了一个实现:https://docs.djangoproject.com/en/1.5/ref/contrib/admin/#overriding-admin-templates

所以我创建了我自己的change_form.html,我覆盖了object-tools-items并把我的js放在那里,但是当我去改变形式时我没有看到它。然后,就像一个测试,我把它直接放入真正的django change_form.html,但仍然没有。

然后,为了查看是否正在使用该模板,我更改了它 - 添加了数据,创建了语法错误,但仍然没有效果。所以似乎根本没有使用该模板。我为了change_form.html而努力查看它的渲染位置,我在contrib / admin / options.py:render_change_form()中找到它,所以我在那里设置了一个断点,但它从未被击中过。但HTML确实看起来像是来自该模板。

请问有人能指点我吗?

答案

您无需覆盖管理模板即可将自定义JavaScript添加到管理页面。

您可以像这样添加资源:

https://docs.djangoproject.com/en/dev/topics/forms/media/#assets-as-a-static-definition

然后你只需要覆盖管理网站使用的表单。

以上是关于覆盖django中的管理模板以添加自定义javascript的主要内容,如果未能解决你的问题,请参考以下文章

有没有一种简单的方法可以完全自定义 Django 管理站点以显示不是字段的变量?

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

添加自定义 Django 管理操作

在 django 管理页面上添加链接和按钮

向Django Admin添加键盘快捷键功能

覆盖部署到 Google App Engine 的 Django 应用中的模板