Django 和引导程序,为啥我的小部件不起作用?

Posted

技术标签:

【中文标题】Django 和引导程序,为啥我的小部件不起作用?【英文标题】:Django and bootstrap, why my widget does not work?Django 和引导程序,为什么我的小部件不起作用? 【发布时间】:2020-09-15 20:06:31 【问题描述】:

我有以下 html 的 boostrap 代码:

 <div class="input-group date col-2" id="datetimepicker1" data-target-input="nearest">
    form.data_contabile|as_crispy_field
 <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
 <div class="input-group-text"><i class="far fa-clock"></i></div>
 </div>
 </div>

    <script>
      $(function () 
        $("#datetimepicker1").datetimepicker(
          format: 'DD/MM/YYYY',
        );
      );
    </script>

在我的表单中,下面的代码:

class MaterialeForm(forms.ModelForm):

class Meta:
    model = Materiale
    fields = "__all__"
    exclude = ['iva_amount']
    widgets = 'data_contabile': forms.DateTimeInput(attrs= 'type':'text', 
                                                             'class':'form-control datetimepicker-input', 
                                                             'data-target': '#datetimepicker1')

最后是我的模型:

class Materiale(models.Model):
    data_contabile=models.DateField('Data di acquisto', default="GG/MM/YYYY")

但布局如下:

哪里出错了?

【问题讨论】:

【参考方案1】:

根据 datetimepicker documentation 在这里您应该在元素的 id 上调用 datetimepicker 函数,而不是元素的数据目标。您可以像这样更改您的模型表单属性:

class Meta:
model = Materiale
fields = "__all__"
exclude = ['iva_amount']
widgets = 'data_contabile': forms.DateTimeInput(attrs= 'type':'text', 
                                                         'class':'form-control datetimepicker-input', 
                                                         'id': 'datetimepicker1')

这应该像这样工作

您可以更改您的选择器以在具有 data-target 属性的元素上调用 datetimepicker jquery 函数,如下所示:

$('[data-target=#datetimepicker1]').datetimepicker(
      format: 'DD/MM/YYYY',
    );

无论哪种方式,这都应该有效。

【讨论】:

以上是关于Django 和引导程序,为啥我的小部件不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

链接和按钮在引导网格中的小屏幕和超小屏幕上不起作用

为啥“发布”方法在我的 django 应用程序中不起作用?

为啥我的 Center 小部件在 Dart 中不起作用? |扑

Django 表单和引导程序 - 添加小部件有效但不完全

为啥引导工具提示在引导模式中不起作用?

当我将可选参数传递给视图时,为啥我的 CSS 静态文件在 Django 中不起作用?