У меня проблема, из-за которой я пытаюсь остановить разбиение на страницы, когда достигаю предела / максимума запроса. Поскольку мои знания о структуре данных довольно низки, я бы спросил вас, какое было бы лучшее решение для решения этой проблемы?
app.py:
@app.route('/electronics/')
@app.route('/electronics/<page>/<limit>')
def electronics(page=1, limit=6):
page=int(page)
limit=int(limit)
start_index = page * limit - limit
end_index = start_index + 6
all_products = mongo.db.products.find({'category_name':"Electronics"}).sort("$natural", pymongo.DESCENDING)
page_number =math.ceil(all_products.count()/6)
maximum = math.floor( (mongo.db.products.count_documents({})) / limit - 1)
electronics = all_products[start_index:end_index]
return render_template(
'electronics.html',
electronics= electronics,
page=page,
pages=range(1, int(page_number)+1),
maximum=maximum,
limit=limit
)
electronics. html
<ul class="pagination pg-amber justify-content-center">
<!--Previous button-->
<li {% if page==1 %} class="page-item disabled" {% endif %}>
<a class="page-link" {% if page>1 %}href="{{ url_for('electronics', page=page, limit=limit) }}"{% endif %}>
Previous
</a>
</li>
<!--Middle of the pagination-->
{% for p in pages %}
<li class="page-item{% if p == page %} active{% endif %}">
<a class="page-link" href="{{ url_for('electronics', page=p, limit=limit) }}">{{ p }}</a>
</li>
{% endfor %}
<--HERE IS THE ISSUE -->
<!--Next button-->
<li {% if page==maximum %} class="page-item disabled" {% endif %}>
<a class="page-link" {% if page!=maximum %}href="{{ url_for('electronics', page=page, limit=limit) }}" {% endif %}>
Next
</a>
</li>
</ul>
Я почти уверен, что проблема в максимальной переменной, но мне не удалось найти решение этой проблемы.