【问题标题】:django admin and autocomplete light: Select2: An instance of jQuery or a jQuery-compatible library was not founddjango 管理和自动完成灯:Select2:找不到 jQuery 实例或 jQuery 兼容库
【发布时间】:2018-01-21 18:16:36
【问题描述】:

对于我尝试在管理员中对其进行编码的字段,自动完成灯光小部件未完全加载。相反,我得到以下内容

Select2:未找到 jQuery 实例或 jQuery 兼容库。确保在您的网页上的 Select2 之前包含 jQuery。

旁边只有一个选项的选择框。

这实际上类似于之前关于 select2 库的几个问题,并且大多数解决方案都涉及重新排序 settings.py 中的文件或运行 python manage.py collectstatic。但到目前为止,这些都没有对我有用。

任务是在我的网页上的 Select2 之前包含 jQuery...怎么做?

【问题讨论】:

  • 如果你在正确的步骤中,你不需要在 Select2 之前做特殊的事情来制作 jQuery。您在表单模板上请{{ form.media }} 吗?
  • 所以我正在尝试更新管理员上的添加/更改页面。如何检索模板并添加这样一行 form.media。我也在尝试阅读文档以弄清楚它到底是做什么的。

标签: jquery python django django-admin django-autocomplete-light


【解决方案1】:

我遇到了同样的问题,我能够通过在我的 settings.py 文件中重新配置 INSTALLED_APPS 来解决它,以确保 'dal''dal_select2' 都包含在“django.contrib.admin”之前。

这个小花絮包含在installation documentationdjango-autocomplete-light 中,虽然我在最初的阅读中错过了它:

然后,让 Django 找到我们需要的静态文件,方法是在 django.contrib.admin 和 grappelli(如果存在)之前添加到 INSTALLED_APPS:

'dal',
'dal_select2',
# 'grappelli',
'django.contrib.admin',

这是为了覆盖管理员提供的 jquery.init.js 脚本,该脚本设置 > 没有冲突的 jQuery,使 jQuery 仅在 django.jQuery 中可用,而不是 $。

附:我最终发现 django 2.x+ 现在有一个built-in for auto-complete fields。我最终改用它并强烈推荐它以降低开销/开发成本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 2021-12-31
    • 2014-10-22
    • 1970-01-01
    相关资源
    最近更新 更多