【问题标题】:Implementing Django FilteredSelectMulitple into none admin form将 Django FilteredSelectMulitple 实现为无管理表单
【发布时间】: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

我在模板中添加了&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"&gt;&lt;/script&gt;,但仍然得到剩余的控制台错误

【问题讨论】:

    标签: javascript django django-widget


    【解决方案1】:

    刚刚意识到这个问题。问题是我没有将{{ form }} 包装在&lt;form&gt; 标签中,因为我只是在进行测试

    【讨论】:

      猜你喜欢
      • 2011-01-23
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-25
      • 2013-09-16
      • 2018-04-11
      • 2016-03-17
      相关资源
      最近更新 更多