gpt4 book ai didi

javascript - 如何正确呈现 FilteredSelectMultiple

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:06 26 4
gpt4 key购买 nike

我正在使用 FilteredSelectMultiple 小部件,但它只是不想看起来像管理员中的那个。

Javascript 控制台显示

Uncaught TypeError: undefined is not a function        SelectFilter2.js:100

我的表单(导入的小部件:django.contrib.admin.widgets.FilteredSelectMultiple)

 class GroupPermissionForm(forms.ModelForm):                                 
permissions = forms.ModelMultipleChoiceField(
queryset=Permission.objects.all(),
widget=FilteredSelectMultiple("verbose name", is_stacked=False)
)

class Meta:
model = Group
fields = ('permissions', )

模板

{{ group_perm_form.media }}
<form>
{{ group_perm_form.permissions }}
</form>

(我也尝试过 {{ group_perm_form }} 但它没有用,令我惊讶的是当我用 crispy 渲染表单时我可以过滤选择输入,但它仍然被分解)

我的 javascript 文件的顺序如下:

jquery
django.js
form.media

顺便说一句,这是结果 http://i.imgur.com/pvdcjW1.png

编辑:工作模板如下所示

<script type="text/javascript" src="/static/admin/js/jquery.min.js"></script>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
{{ group_perm_form.media }}
<form>
{{ group_perm_form.permissions }}
</form>

<link rel="stylesheet" type="text/css" href="/static/admin/css/widgets.css" />

最佳答案

管理 JS 小部件都依赖于 JSI18N 脚本。将此添加到您的模板标题中:

<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script>

编辑:看起来您还需要来自 static/admin/js 的 jquery.init.js,因为 jQuery 被命名空间以避免冲突并且不会自动传递给 SelectFilter2 脚本。

关于javascript - 如何正确呈现 FilteredSelectMultiple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24572289/

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