У меня есть календарь, в котором я могу выбрать дату, и я пытаюсь передать дату в мои представления Django, используя ajax. Эта часть работает нормально, так как я могу напечатать значение на терминале. У меня проблема с передачей этой даты из представления в мой шаблон. Вместо того, чтобы передавать дату, она передает None
.
Если я вручную установлю значение data_input = "testing"
, оно будет отображаться в шаблоне.
views.py
if request.method == 'POST':
form = AppointmentForm(request.POST)
if form.is_valid():
form.save()
form = AppointmentForm
return render(request, 'scheduling/make_appointments.html',{"form":form})
elif request.method == 'GET':
data_input = request.GET.get('date')
print(data_input)
form = AppointmentForm
args = {
"form" : form,
"data_input": data_input,
}
return render(request, 'scheduling/make_appointments.html', args)
main.js
$(document).ready(function () {
$("#datetimepicker").on("dp.change", function (e) {
e.preventDefault();
date = $('#datepicker').serialize().replace('date=', '');
console.log(date);
$.ajax({
type: 'GET',
url: '../make_appointments/',
data: {
'date': date
}
});
});
});
make_appointments.html
<form id="datepicker" method="get" name="select_date">
<div id="datetimepicker">
<input type="hidden" name="date" id="date">
</div>
</form>
{{data_input}}
Редактировать:
print(type(data_input))
отпечатки <class 'str'>
. Поскольку тип данных data_input
- это string
, я не понимаю, почему возникнут проблемы с передачей в шаблон.