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

问题描述 投票:1回答:1

我有一个模型,我需要在其管理表单中添加一些自定义的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 django django-forms django-templates django-admin
1个回答
2
投票

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

您可以像这样添加资源:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.