Django admin中Select2 4.0.5常见错误
Select2 4.0.5 common errors in Django admin
(免责声明:这是一个自我回答的问题)
我想在 Django 管理面板中(特别是在 change_list.html
模板中)为我的表单字段设置一些 Select2。所以我将必要的脚本添加到页面(不是完整版),但是当它加载时,我得到这个错误:
Select2: An instance of jQuery or a jQuery-compatible library was not found. Make
sure that you are including jQuery before Select2 on your web page.
TypeError: a is undefined
TypeError: e is undefined
TypeError: $ is not a function
当您搜索其中一个错误(好吧,不是第一个和最后一个错误)时,答案不是关于同一主题的(通常它与错误的 processResults
设置有关,或 Bootstrap) 或 docs 都没有问题。
我该如何解决?
修复它涉及两个步骤:
设置一个名为 $
的变量
这是您看到最后一行 (TypeError: $ is not a function
) 时首先想到的,所有脚本通常都会使用它(谁不在脚本中使用 $
?) .但是当你修改它时,你仍然会得到这些错误:
TypeError: a is undefined
TypeError: e is undefined
所以,我们必须更深入...
设置一个名为 jQuery
的变量
这个可能有点隐藏,因为我们必须深入研究 select2.js
脚本(您通常使用缩小版本,所以只显示 $
)。
好像有时候会用到一个叫做jQuery
的变量,所以你也得在你的JS中设置它。
修复应该是什么样子
在您的 Select2 脚本之前添加此脚本:
<script type="text/javascript">
// To prevent errors for Select2 JS
var $ = django.jQuery;
var jQuery = django.jQuery;
</script>
(免责声明:这是一个自我回答的问题)
我想在 Django 管理面板中(特别是在 change_list.html
模板中)为我的表单字段设置一些 Select2。所以我将必要的脚本添加到页面(不是完整版),但是当它加载时,我得到这个错误:
Select2: An instance of jQuery or a jQuery-compatible library was not found. Make
sure that you are including jQuery before Select2 on your web page.
TypeError: a is undefined
TypeError: e is undefined
TypeError: $ is not a function
当您搜索其中一个错误(好吧,不是第一个和最后一个错误)时,答案不是关于同一主题的(通常它与错误的 processResults
设置有关,或 Bootstrap) 或 docs 都没有问题。
我该如何解决?
修复它涉及两个步骤:
设置一个名为 $
的变量
这是您看到最后一行 (TypeError: $ is not a function
) 时首先想到的,所有脚本通常都会使用它(谁不在脚本中使用 $
?) .但是当你修改它时,你仍然会得到这些错误:
TypeError: a is undefined
TypeError: e is undefined
所以,我们必须更深入...
设置一个名为 jQuery
的变量
这个可能有点隐藏,因为我们必须深入研究 select2.js
脚本(您通常使用缩小版本,所以只显示 $
)。
好像有时候会用到一个叫做jQuery
的变量,所以你也得在你的JS中设置它。
修复应该是什么样子
在您的 Select2 脚本之前添加此脚本:
<script type="text/javascript">
// To prevent errors for Select2 JS
var $ = django.jQuery;
var jQuery = django.jQuery;
</script>