【问题标题】:Django admin custom javascript load orderDjango admin 自定义 javascript 加载顺序
【发布时间】:2010-11-12 22:57:14
【问题描述】:

我正在使用 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 中是否有可能在 everything 之后运行一些代码,否则,我通常使用 $(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 中,然后就完成了。

【问题讨论】:

    标签: jquery django django-admin


    【解决方案1】:

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

    【讨论】:

    • 有效,但必须有更好的解决方案,不是吗? (+1)
    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多