我有以下问题:我有一个使用' bootstrapdatetimepicker'的django表单。日期时间段的小部件。但是,当我尝试发布表单时,它会抛出一种格式无效'错误。
我使用的是本地(荷兰语)时间格式,但我已将这种新格式包含在forms.py代码中(见下文)
class Meta:
model = Quotation
fields = [
'full_name',
'organisation',
'address',
'date',
'type',
'description',
'budget',
]
widgets = {'date': DateTimeInput(
attrs={'id': 'datetimepicker1'},
format='%d-%m-%Y %H:%M:%S')}
并在模板中,
<div class="col-md-12 speaker-form" id="offerte">
{% csrf_token %}
{% crispy form %}
</div>
<script>
$(function () {
$('#datetimepicker1').datetimepicker({
format:'DD-MM-YYYY HH:mm:ss',
defaultDate: new Date(),
icons: {
up: "fa fa-chevron-circle-up",
down: "fa fa-chevron-circle-down",
next: 'fa fa-chevron-circle-right',
previous: 'fa fa-chevron-circle-left',
}
});
});
</script>
有谁知道我做错了什么?为什么我的格式&#39; Python和Javascript代码中的覆盖不能正常工作吗?
答案 0 :(得分:2)
似乎JS库和DateTimeInputField已正确配置为允许新的日期时间格式,但模型无法验证新的日期时间格式。因此,它不会保存数据。
如果这是正确的,可以修改settings.py
以允许不同的输入格式。
请确保USE_L10N = False
否则它将覆盖下面列出的自定义格式。
将以下内容添加到settings.py
的底部:
from django.conf.global_settings import DATETIME_INPUT_FORMATS, DATE_INPUT_FORMATS
DATE_INPUT_FORMATS += ("%d-%m-%Y",)
DATETIME_INPUT_FORMATS += ("%d-%m-%Y %H:%M:%S",)
答案 1 :(得分:1)
我遇到了同样的问题,我通过在ModelForm中定义字段来解决它:
[PXFilterable]
public PXFilteredProcessingOrderBy<DAC, DACFilter, OrderBy<DAC.sortField>> MyDataView;
public virtual IEnumerable myDataView()
{
yield new DAC();
}
同时将您的javascript格式修改为&#39; dd-mm-yyyy hh:ii:ss&#39;