如何在django中添加bootstrap 4日期选择器
我一直在尝试从这个添加Bootstrap4日期选择器。当我添加一条新记录时效果很好,但问题是当编辑记录时,该值并没有出现在字段中。我所做的是: widgets.py如何在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'
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
的形式从模型中传递现有值。我要修改我的答案。