【发布时间】:2017-06-13 08:29:41
【问题描述】:
我有一个带有非常基本模型和表单的小型 Django 应用程序,其中给我带来问题的元素是 DateTimeField。
型号:
class Task(models.Model):
what = models.CharField(max_length=255)
due = models.DateTimeField(null=True, blank=True)
#[...]
表格:
class TaskForm(forms.Form):
due = forms.DateTimeField(required=False)
在视图中,在POST:
form = TaskForm(request.POST)
if form.is_valid():
# further processing
# create new task or edit existing task, for example:
new_task = Task('what':request.POST['what'],
'due':request.POST['due'])
new_task.save()
在模板中,为了显示DateTimeField,我使用bootstrap datetimepicker,效果很好。
问题是我似乎无法为 Django 选择正确的格式。形成我读过的任何以下格式都应该没问题。
[
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
'%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
'%Y-%m-%d %H:%M', # '2006-10-25 14:30'
'%Y-%m-%d', # '2006-10-25'
'%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
'%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
'%m/%d/%Y %H:%M', # '10/25/2006 14:30'
'%m/%d/%Y', # '10/25/2006'
'%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
'%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
'%m/%d/%y %H:%M', # '10/25/06 14:30'
'%m/%d/%y', # '10/25/06'
]
但是当我使用 DateTimePicker 选择 DateTime 时,它不被接受。
我收到了来自 Django 的ValidationError。据我所知,它不是来自.is_valid(),而是来自.save() 函数。
['„“ value has an invalid format and must be of the form YYYY-MM-DD HH: MM [: ss [.uuuuuuu]] [TZ]']
我找不到罪魁祸首,因为它似乎是""。如何缩小问题范围?
【问题讨论】:
标签: python django forms validation datetime