防止Django表单插入加载到页面头部的javascript

防止Django表单插入加载到页面头部的javascript,django,django-forms,django-templates,Django,Django Forms,Django Templates,我用Django(版本2.2.1)构建了一个应用程序。所有模板都扩展了一个基本模板,该模板按如下方式加载jQuery: <script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.min.js' %}"></script> 我的问题:是否有可能防止这种双重加载javascript文件 我猜一个表单必须能够在不知道前面还呈现了什么的

我用Django(版本2.2.1)构建了一个应用程序。所有模板都扩展了一个基本模板,该模板按如下方式加载jQuery:

    <script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.min.js' %}"></script>
我的问题:是否有可能防止这种双重加载javascript文件

我猜一个表单必须能够在不知道前面还呈现了什么的情况下呈现自己。那么,是否有可能通知
表单
关于模板中已包含的任何javascript,以便
表单.media()
可以排除表单外部已加载的javascript


哦,甜蜜的讽刺:在回顾这个问题时,我偶然发现,在django autocomplete light jQuery的更新版本中,它已经从媒体上删除,解决了我的问题。。。尽管如此,我仍然对这个问题的答案感兴趣,因为这个问题可能会再次出现在外部软件包提供的不同组合的小部件上。

通常这就是为什么有时候模板的底部会有
{%block js%}

@property
def media(self):
    """Return JS/CSS resources for the widget."""
    extra = '' if settings.DEBUG else '.min'
    i18n_name = self._get_language_code()
    i18n_file = (
        '%s%s.js' % (I18N_PATH, i18n_name),
    ) if i18n_name else ()

    return forms.Media(
        js=(
            'admin/js/vendor/jquery/jquery%s.js' % extra,
            'autocomplete_light/jquery.init.js',
            'vendor/select2/dist/js/select2.full%s.js' % extra,
        ) + i18n_file + (
            'autocomplete_light/autocomplete.init.js',
            'autocomplete_light/forward.js',
            'autocomplete_light/select2.js',
            'autocomplete_light/jquery.post-setup.js',
        ),
        css={...}, # omitted, because irrelevant for this question.
    )