【问题标题】:Dependencies on Media class in DjangoDjango中媒体类的依赖
【发布时间】:2019-12-27 16:05:50
【问题描述】:

我有一个简单的 ModelAdmin,它定义了一个 Media 类,这个类包含一些 JavaScript

class ExerciseAdmin(ModelAdmin):

    class Media:
        js = (
            'exercises/ck-editor-dynamic-init.js',
        )

我想在这个脚本中使用django.jQuery,但问题是当这个脚本被注入到管理站点时,django.jQuery 还没有初始化。 这是我的解决方法,但它很难看:

let loading = setInterval(function () {
  if (django.jQuery !== undefined) {
    loading = clearInterval(loading);
    (function ($) {
        $(document).on('formset:added', function newForm(event, row) {
            console.log(event);
        });
    })(django.jQuery);
  }
}, 100);

我可以想象,这不是最好的方法。有人可以提出更好的建议吗?谢谢

【问题讨论】:

  • 如果你也包含 jQuery 源代码会怎样
  • Django 的 jQuery 添加了几个有用的方法/事件。例如它触发formset:added。你在常规的 jQuery 中没有这个。除此之外,我不想加载两个彼此相邻的 jQuerys

标签: javascript django django-admin


【解决方案1】:

'jquery.init.js', 添加到您的列表应该可以解决问题:

    class Media:
        js = (
            'admin/js/jquery.init.js',
            'exercises/ck-editor-dynamic-init.js',
        )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-25
    • 1970-01-01
    • 2021-04-25
    • 2015-08-30
    • 2016-07-12
    • 2018-12-07
    • 2018-06-01
    • 1970-01-01
    相关资源
    最近更新 更多