问题是,在django.contrib.admin
应用程序的基本模板中,没有定义jQuery
和django.jQuery
,它们仅出现在几个后代模板上。我想在任何地方启用它,因为我想在管理站点的所有页面添加一个JS-applet。
当然可以添加所需的脚本来覆盖基本模板,但是当那些几个后代模板在我的脚本之后插入jQuery
脚本时 - 我的applet将被重置。
我目前的解决方案是在所有脚本之后使用页脚中的applet添加脚本,因此在加载所有脚本后加载它。即使jQuery
被多次加载 - 它也不会对我的applet造成伤害。
但我仍然觉得,我想找到更好的解决方案,在所有情况下jQuery
初始化都不会重复。
所以也许有些人知道是否有任何优雅的解决方案可以在django-admin的所有页面上添加jQuery?
PS
我想要设置的小程序是django_bfm。默认情况下,它仅适用于所选模型,我希望它能在任何地方出现。
答案 0 :(得分: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 ...
希望它有所帮助!