Передача значения даты в HTML-форму во фреймворке django
Я создаю свое первое приложение на Django. Я пытаюсь сделать шаблонную форму для обновления значений в строке таблицы в базе данных. Я хочу заполнить все поля формы существующими значениями из базы данных. Я могу передавать даты в виде текста просто отлично:
Здесь отображается моя дата:
<input type="text" class="form-control" value="{{ table.date }}">
но когда я пытаюсь ввести то же значение в поле даты, оно остается пустым, и я получаю результат
При этом отображается пустое поле даты:
<input type="date" class="form-control" value="{{ table.date }}">
Я предполагаю, что это связано с обработкой форматирования даты. Есть ли простой способ сделать это в html? Или это требует работы с бэкендом?
Любой код на python, который я пытался записать в шаблон, приводил к 404. Я все еще изучаю возможности шаблона. Из того, что я прочитал, я догадываюсь, что правильный способ сделать это - с помощью функции в моей модели, но я надеялся, что смогу написать что-то для преобразования даты в моем шаблоне.
Мое мнение таково:
def update(request, id):
table = table.objects.get(pk=id)
return render(request, 'app/tempate.html', {'table' : table})
Это проблема форматирования, как вы догадались в своих комментариях. Лучше всего использовать встроенную дату template tag
, предоставляемую фреймворком для манипулирования значением, вместо того, чтобы делать это в представлении:
<input type="date" class="form-control" value="{{ date|date:'Y-m-d' }}">