【发布时间】:2019-09-28 05:20:50
【问题描述】:
我正在尝试将 Django 小部件 FilteredSelectMultiple 实现为非管理员表单,虽然它显示,但在加载时我在控制台中收到 JavaScript 错误。错误是
TypeError: node.tagName is undefined SelectFilter2.js:11:9
如果我从列表中选择项目,我会在控制台中收到以下 JavaScript 错误
TypeError: 缓存未定义 SelectBox.js:76:29
这是我的 Django 表单
class PlaylistForm(forms.ModelForm):
class Meta:
model = Playlist
exclude = ['id']
widgets = {
'owner' : forms.HiddenInput(),
'name' : forms.TextInput (
attrs={
'class' : 'form-control',
'placeholder' : _('Playlist Title'),
'label' : _('Playlist Title')}),
'projects' : FilteredSelectMultiple ('Items', is_stacked=True, attrs = {'class' : 'form-control'})
}
class Media:
css = {
'all': (os.path.join(settings.BASE_DIR, '/static/admin/css/widgets.css'),),
}
js = (
'/admin/jsi18n/',
)
这是风景
class CreatePlaylistView (LoginRequiredMixin, CreateView):
model = Playlist
form_class = PlaylistForm
这是模板添加
<script type="text/javascript" src="{% static 'admin/js/vendor/jquery/jquery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'admin/js/jquery.init.js' %}"></script>
<script type="text/javascript" src="{% url 'admin:jsi18n' %}"></script>
{{ form.media }}
我根据其他一些帖子包含了这是 urls.py
path('jsi18n/', JavaScriptCatalog.as_view(), name='javascript-catalog'),
我做错了什么?
编辑
我对此进行了更多研究,并且在 Firefox 中的 Chrome 中出现了不同的浏览器错误。Firefox 在上面的帖子中。
初始 Chrome 错误是
TypeError: jQuery.easing[jQuery.easing.def] is not a function
SyntaxError: Unexpected token <
SyntaxError: Unexpected token <
ReferenceError: interpolate is not defined
我在模板中添加了<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>,但仍然得到剩余的控制台错误
【问题讨论】:
标签: javascript django django-widget