如何在Django admin home中加载自定义JS文件?

时间:2013-11-11 15:51:15

标签: javascript python django

我有一个大量定制的Django管理员,为每个ModelAdmins加载一个自定义JS文件非常简单:

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

但是我如何为管理“主页”执行此操作,其中列出了我的所有管理模型?

更新#1 :修改我的问题,因为如果我无法有效地包含Django的jQuery,下面的解决方案就不那么有用了。那么,我如何在JS文件中包含Django的jQuery?如果我用我的其他ModelAdmin JS文件包装我的代码:

(function ($) { //... })(django.jQuery);

我收到以下错误:

  

ReferenceError:未定义django。

感谢。

更新#2 :我能够通过以下答案成功包含Django的jQuery:https://stackoverflow.com/a/10584539/585783

1 个答案:

答案 0 :(得分:18)

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

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

{% block extrahead %}
    # add a <script> tag here with your JavaScript
{% endblock %}