19

我有一个高度定制的 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 未定义。

谢谢。

更新#2:我能够通过遵循这个答案成功地包含 Django 的 jQuery:https ://stackoverflow.com/a/10584539/585783

4

1 回答 1

30

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

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

{% block extrahead %}
    {{ block.super }}
    # add a <script> tag here with your JavaScript
{% endblock %}
于 2013-11-11T16:05:46.087 回答