Django字典不传递给模板

时间:2019-05-01 20:58:27

标签: jquery ajax django django-templates django-views

我有一个日历,可以选择一个日期,并且正在尝试使用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,因此我看不到为什么将其传递到模板时会遇到问题。

0 个答案:

没有答案