我有一个日历,可以选择一个日期,并且正在尝试使用ajax将日期传递给Django视图。该部分工作正常,因为我可以在终端上打印值。我遇到的问题是将该日期从视图传递到模板。它不传递日期,而是传递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
,因此我看不到为什么将其传递到模板时会遇到问题。