0

问题是,在应用程序的基本模板中,django.contrib.admin没有定义,它们只出现在几个后代模板上。我想在任何地方启用它,因为我想在管理站点的所有页面中添加一个 JS-applet。当然,可以将所需的脚本添加到覆盖的基本模板中,但是 - 在这种情况下,当这几个后代模板在我的模板之后插入脚本时 - 我的小程序将被重置。jQuerydjango.jQueryjQuery

我目前的解决方案是在所有脚本之后在页脚中添加带有小程序的脚本,因此在加载所有脚本后加载它。即使jQuery被加载了几次- 它不会损害我的小程序。但我仍然觉得,我想找到更好的解决方案,jQuery在所有情况下都不会重复初始化。所以也许有些人知道是否有任何优雅的解决方案可以在 django-admin 的所有页面上添加 jQuery?

ps
我要设置的小程序是django_bfm。默认情况下,它只适用于选定的模型,我想让它出现在任何地方。

4

1 回答 1

0

您可以重新定义管理基本模板,如下所示:

... some lines before...
<script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% static "admin/" %}{% endfilter %}";</script>
{% block extrahead %}{% endblock %}
<INCLUDE YOUR JQUERY HERE>
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
... all other lines ...

在这种情况下,您包含所需的 jquery,并且由于它始终包含在默认管理脚本之后,因此管理站点将使用您包含的 jquery...

希望能帮助到你!

于 2013-06-19T05:35:17.323 回答