一尘不染

如何在Django管理主页中加载自定义JS文件?

django

我有一个高度自定义的Django管理员,在其中为每个ModelAdmins加载自定义JS文件非常简单:

class MyModelAdmin(admin.ModelAdmin):
    class Media:
        js = ('js/admin/mymodel.js',)

但是,对于列出所有管理员模型的管理员“主页”,我该如何做呢?

更新#1:修正了我的问题,因为如果我不能有效地包含Django的jQuery,以下解决方案就没有用。那么,如何在JS文件中包含Django的jQuery?如果将代码包装在一起(就像在其他ModelAdmin JS文件中一样):

(function ($) {
    // my code here...
})(django.jQuery);

我收到以下错误:

ReferenceError:django未定义。


阅读 917

收藏
2020-04-01

共1个答案

一尘不染

你可以templates/admin/index.html在代码块中覆盖并添加JavaScript extrahead

{% extends "admin/index.html" %}

{% block extrahead %}
    {{ block.super }}
    # add a <script> tag here with your JavaScript
{% endblock %}
2020-04-01