В основном код работает, как я и ожидал, но мой ListView не обновляется.Все работает нормально, но шаблон не загружается сам, я должен нажать кнопку перезагрузки (тогда все данные загружаются правильно).
Я сделал простую форму / ввод для тестирования и нет проблем с представлениями.Мой проект требует наличия виджета календаря для выбора месяцев, и я нашел самый простой способ сделать это в Интернете: Ajax-подход.
Функция Ajax:
$(document).ready(function () {
$(function () {
$("#datetimepicker1").datetimepicker({
viewMode: 'months',
format: 'MM/YYYY',
}).on('dp.change', function (e) {
var url = "/booking/update_months/{{hotel_id}}";
$.ajax({
type: 'GET',
url: url,
dataType: 'json',
data: {
month: e.date.month(),
},
success: function (data) {
},
error: function (data) {
}
});
})
});
});
Url "/ booking / update_months / {{hotel_id}} "относится к первой функции просмотра, которую я использую для этой функции:
@csrf_exempt
def update_months(request, hotel_id):
if request.GET.get('month'):
month = request.GET.get('month')
request.session['month'] = int(month) + 1
return HttpResponseRedirect(reverse('booking:hotel_statistics', args=(hotel_id,)))
else:
return render_to_response(request, 'booking/hotel_statistics.html')
Затем в HotelStatistics ListView я делаю некоторые вещи в функции get_context_data, здесь ничего особенного.Просто несколькими «отпечатками» я проверил, что код выполняется до конца класса.
class HotelStatistics(ListView):
model = Reservation
context_object_name = 'reservations'
template_name = 'booking/hotel_statistics.html'
def get_context_data(self, **kwargs):
.
.
.
return context
Я почти уверен, что что-то упустил с функциональностью Ajax, это мой первыйподход к этому языку.Заранее благодарим за помощь.