Я использую Django для отображения веб-страницы. Я хочу отобразить детали файлов из базы данных. Этих файлов может быть любое количество. Я использую форму для ввода даты из файла HTML, который принимается функцией просмотра Django. Эта функция проверяет, имеет ли запрос тип POST, и возвращает данные между указанными датами. Теперь, когда я использую пагинацию для отображения этих страниц, нажатие следующей ничего не показывает, так как в этот раз запрос изменяется на GET. В моей функции просмотра django данные выбираются в виде списка. Данные каждого файла находятся в списке. Итак, все данные состоят из списков списков. Как я смогу отображать эти списки, используя нумерацию страниц, не отправляя запросы снова. Возможно ли это сделать?
Мои данные хранятся в базе данных по датам. Я получаю данные в заданном диапазоне. Этот диапазон происходит от HTML-страницы. Вот как я пытаюсь получить детали:
<div class="container">
<form method="POST">
{% csrf_token %}
<input type="date" name="start_date">
<input type="date" name="end_date">
<button type="Submit">Get Details</button>
</form>
</div>
Это код, который я использую в бэкэнде для обслуживания веб-страницы.
def data_range(request):
if request.method == 'POST':
form = Form(request.POST)
try:
if form.is_valid():
start_date = form.data.get('start_date')
end_date = form.data.get('end_date')
page_data = get_page_details(start_date, end_date)
else:
current_date = datetime.datetime.now()
start_date = end_date = current_date.strftime("%Y-%m-%d")
page_data = get_page_details(start_date, end_date)
except Exception:
return render(request, 'UserInterface/no_data_fort.html', {'list_item_count': 0})
else:
return render(request, 'UserInterface/no_data_fort.html', {'list_item_count': 0})
if page_data:
# Calculating total files in fortnightly data
list_item_count = len(page_data)
# Adding Paginator or pagination
paginator = Paginator(page_data, 1)
page = request.GET.get('page')
data = paginator.get_page(page)
return render(request, 'UserInterface/fortnightly_range.html', {'page_data_list': data, 'list_item_count': list_item_count})
else:
return render(request, 'UserInterface/no_data_fort.html', {'list_item_count': 0})
page_data
, которую я получаюсписок списков.