Django管理员自定义javascript加载顺序

时间:2009-07-22 10:28:47

标签: jquery django django-admin

我正在使用jquery在django admin的某些字段中添加一些功能,通过使用以下内容来包含我的代码:

class SomeAdmin(admin.ModelAdmin):
    class Media:
        js = (
                "/static/js/lib/jquery-1.3.2.min.js",
                "/static/js/admin/app/model.js"
            )
            ...
            ..
            .

管理员似乎包含了所有正常的js文件:

<script type="text/javascript" src="/media/js/core.js"></script>
<script type="text/javascript" src="/media/js/admin/RelatedObjectLookups.js"></script>
<script type="text/javascript" src="/media/js/getElementsBySelector.js"></script>
<script type="text/javascript" src="/media/js/actions.js"></script>
<script type="text/javascript" src="/media/js/urlify.js"></script>

然后是您指定的任何自定义,如果您指定了任何filter_horizo​​ntal / vertical字段,则然后,以下

<script src="/media/js/SelectBox.js" type="text/javascript"/>
<script src="/media/js/SelectFilter2.js" type="text/javascript"/>

因为我想修改一对选择框,所以这很烦人。

是否可以更改django admin中标签的顺序?

如果失败了,是否有可能在jquery中有一些代码在所有之后运行,我通常使用$(document).ready(....),之后是否有任何事件被触发?

额外信息

快速更新,如果任何人想要路线alex vasi建议拼写出来,您可以使用以下文件扩展管理模板:

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

{% block extrahead %}{{ block.super }}
    <script type="text/javascript" src="/static/js/admin/app/model/somefile.js"></script>
{% endblock %}

我把它放在/path/to/project/templates/admin/app/model/change_form.html中,完成了。

1 个答案:

答案 0 :(得分:8)

错误解决方案:override此模型的admin change_list模板,并将脚本标记放在模板中。