gpt4 book ai didi

jquery - 如何将 Jquery 插件添加到 django

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:11 27 4
gpt4 key购买 nike

我正在学习 django,我有一个名为 Song 的模型其中有一个多对多字段 singer 。现在在管理部分我有一个简单的多选字段。

现在我想使用 Select2 Plugin 更改多选字段。

我还通过这样做为歌手 Field 添加了一个类:

forms.py

class SongForm(forms.ModelForm):
class Meta:
model = Song
fields = ['title', 'lyrics', 'singer']
widgets = {
'singer': forms.SelectMultiple(attrs={'class': 'multipleSelectBox'}),
}

现在,我从其主页上提供的 CDN 链接中获取了缩小的 JS 和 CSS 文件,并通过执行以下操作将 JS 和 CSS 包含到我的页面中:

admin.py

class SongAdmin(admin.ModelAdmin):
class Media:
def __init__(self):
pass

css = {
"all": ('css/plugins/select2.min.css', )
}
js = ('js/plugins/select2.min.js', 'js/songs.js')

form = SongForm


admin.site.register(Song, SongAdmin)

js/songs.js

(function($){
$(".multipleSelectBox").select2();
})(django.jQuery);

当我在浏览器中加载此内容时,我在控制台中收到错误:

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.

但是,当我检查页面源时,我可以看到 Jquery.js 在 select2.min.js 之前加载。

不知道我哪里搞砸了。请帮忙。

最佳答案

我不知道这是否是最好的方法,但这就是我所做的,以防有人需要帮助。

似乎 django 修改了 Jquery 范围,所以我决定使用其他 Jquery 文件

class SongAdmin(admin.ModelAdmin):
class Media:
def __init__(self):
pass

css = {
"all": ('css/plugins/select2.min.css', )
}
js = (
'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js',
'js/plugins/select2.min.js',
'js/songs.js'
)

关于jquery - 如何将 Jquery 插件添加到 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33240114/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com