Я использовал flask -paginate для нумерации страниц и Mon go DB в качестве базы данных:
На странице view.py
from flask_paginate import Pagination, get_page_args
@app.route('/test',methods=['GET','POST'])
def searchindex():
page, per_page, offset = get_page_args()
pipeline = [{
'$match': {
"meanings.speech_part":word_type,
"$expr": { "$gt": [ { "$strLenCP": "$word" }, word_length ] }
}}]
cursor_objects = db['test'].aggregate(pipeline)
cursor_objects_list=list(cursor_objects)
pagination = Pagination(page=page, total=len(cursor_objects_list),per_page=per_page,offset=offset,record_name='words')
return render_template('index.html',data=cursor_objects_list,pagination=pagination)
В индексе. html:
{{ pagination.info }}
{{ pagination.links }}
{% for word in data %}
<tr>
<td>{{ loop.index + pagination.skip }}</td>
<td> {{ word['word'] }}</td>
</tr>
{% endfor %}
, пока я делаю это, все результаты отображаются сразу как:
Даже нажатие на 2
( страница 2) показывает те же результаты, но диапазон номеров изменяется следующим образом:
Я застрял там, где сделал неправильно, limit
Применительно к совокупности это вопрос на моей голове?
Любая помощь приветствуется, TIA