Я получаю дату вместо данных о дате и времени в POST-запросе.
У меня есть подборщик диапазона дат на моем сайте.
Когда пользователь вводит дату и временной диапазон, я хочу отправить отдельно в форме startDate
и endDate
код daterangepicker:
$('input[name="datetimes"]').daterangepicker({
timePicker: true,
timePickerIncrement: 5,
startDate: moment().startOf('hour'),
endDate: moment().startOf('hour').add(32, 'hour'),
locale: {
format: 'YYYY-MM-DD hh:mm'
},
opens: 'center',
drops: 'auto'
});
Вот что я попробовал:
$('#formid').submit(function(e) {
e.preventDefault();
let startDate = ($('#datetimes').data('daterangepicker').startDate).format('YYYY-MM-DD hh:mm');
let endDate = ($('#datetimes').data('daterangepicker').endDate).format('YYYY-MM-DD hh:mm');
$(this).append('<input type="hidden" name="start_date" value='+startDate+' /> ');
$(this).append('<input type="hidden" name="end_date" value='+endDate+' /> ');
this.submit();
});
Перед this.submit();
я сделал console.log(startDate)
и вот что я получаю:
Я получаю дату и время (как и ожидалось), но затем, если я попробую сделать print(request.POST)
в представлении (django back-end), вот что я получу:
Каким-то образом во время POST
исчезли HH:mm
.
Как я могу сохранить значения hh:mm
во время POST?
Обновление:
views.py
def add_new_task(request):
context = {}
context['nbar'] = 'index'
if request.method == 'POST':
print(request.POST)
return render(request, 'index.html', context)
models.py
class ToDoList(models.Model):
title = models.CharField(max_length=60)
description = models.TextField()
start_date = models.DateTimeField()
end_date = models.DateTimeField()
user = models.ForeignKey(
User,
null=True,
blank=True,
on_delete=models.SET_NULL,
)
Это долгая попытка, но возможно ли, что тот факт, что вам не хватает двойных кавычек вокруг атрибутов value
в ваших скрытых вводах, является причиной проблемы?
Попробуйте изменить его на:
$(this).append('<input type="hidden" name="start_date" value="'+startDate+'" /> ');
$(this).append('<input type="hidden" name="end_date" value="'+endDate+'" /> ');