代码之家  ›  专栏  ›  技术社区  ›  sjh

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

  •  12
  • sjh  · 技术社区  · 15 年前

    我正在使用jquery向django管理中的某些字段添加一些功能,包括使用以下类似的代码:

    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>
    

    然后,您如上所述指定的任何自定义项,以及 然后 如果指定了任何过滤器水平/垂直字段,请执行以下操作:

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

    这是一个触摸烦人,因为我想修改结果对选择框。

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

    如果失败,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 回复  |  直到 10 年前
        1
  •  8
  •   rush    10 年前

    不良解决方案: override 管理更改此模型的列表模板,并将脚本标记放在模板中。