Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在django中添加bootstrap 4日期选择器_Django_Python 3.x_Bootstrap 4 - Fatal编程技术网

如何在django中添加bootstrap 4日期选择器

如何在django中添加bootstrap 4日期选择器,django,python-3.x,bootstrap-4,Django,Python 3.x,Bootstrap 4,我一直在尝试从这个添加Bootstrap4日期选择器。当我添加一条新记录时效果很好,但问题是当编辑记录时,该值并没有出现在字段中。我所做的是: widgets.py from django.forms import DateTimeInput, DateInput class BootstrapDateTimePickerInput(DateTimeInput): template_name = 'widgets/bootstrap_datetimepicker.html'

我一直在尝试从这个添加Bootstrap4日期选择器。当我添加一条新记录时效果很好,但问题是当编辑记录时,该值并没有出现在字段中。我所做的是:

widgets.py

from django.forms import DateTimeInput, DateInput

class BootstrapDateTimePickerInput(DateTimeInput):
    template_name = 'widgets/bootstrap_datetimepicker.html'

    def get_context(self, name, value, attrs):
        datetimepicker_id = 'datetimepicker_{name}'.format(name=name)
        if attrs is None:
            attrs = dict()
        attrs['data-target'] = '#{id}'.format(id=datetimepicker_id)
        attrs['class'] = 'form-control datetimepicker-input'
        context = super().get_context(name, value, attrs)
        context['widget']['datetimepicker_id'] = datetimepicker_id
        return context
class ClaimForm(forms.ModelForm):

    purchase_date = forms.DateTimeField(input_formats=['%d/%m/%Y %H:%M'], widget=BootstrapDateTimePickerInput())

    class Meta(forms.ModelForm):
        model = Claim
        fields = ['store', 'expense', 'rewards', 'money_receipt', 'purchase_date']
forms.py

from django.forms import DateTimeInput, DateInput

class BootstrapDateTimePickerInput(DateTimeInput):
    template_name = 'widgets/bootstrap_datetimepicker.html'

    def get_context(self, name, value, attrs):
        datetimepicker_id = 'datetimepicker_{name}'.format(name=name)
        if attrs is None:
            attrs = dict()
        attrs['data-target'] = '#{id}'.format(id=datetimepicker_id)
        attrs['class'] = 'form-control datetimepicker-input'
        context = super().get_context(name, value, attrs)
        context['widget']['datetimepicker_id'] = datetimepicker_id
        return context
class ClaimForm(forms.ModelForm):

    purchase_date = forms.DateTimeField(input_formats=['%d/%m/%Y %H:%M'], widget=BootstrapDateTimePickerInput())

    class Meta(forms.ModelForm):
        model = Claim
        fields = ['store', 'expense', 'rewards', 'money_receipt', 'purchase_date']
我想在编辑表单时将日期值添加到输入字段中。

我们在Tempus Dominus JS库的基础上为Bootstrap 4日期和时间选择器小部件构建了一个Django Python包。详情如下:

对于您的情况,类似于这样的方法会起作用:

from tempus_dominus.widgets import DateTimePicker

purchase_date = forms.DateTimeField(
    widget=DateTimePicker(),
    initial='1980-01-01 12:00:00',
)

祝你好运

我们在Tempus Dominus JS库的基础上为Bootstrap 4日期和时间选择器小部件构建了一个Django Python包。详情如下:

对于您的情况,类似于这样的方法会起作用:

from tempus_dominus.widgets import DateTimePicker

purchase_date = forms.DateTimeField(
    widget=DateTimePicker(),
    initial='1980-01-01 12:00:00',
)

祝你好运

谢谢你的反馈,我刚刚安装了它。它可以工作,但我的问题没有解决,即当我编辑表单时,现有值没有出现在表单字段的字段中,您必须以
initial
的形式从模型中传递现有值。我会修改我的答案。谢谢你的反馈,我现在已经安装好了。它可以工作,但我的问题没有解决,即当我编辑表单时,现有值没有出现在表单字段的字段中,您必须以
initial
的形式从模型中传递现有值。我要修改我的答案。