Я создаю книжный магазин, и одна из функций заключается в том, что, попав на страницу, я бы хотел отфильтровать его и показывать только 10 или 20 результатов на странице.
<form action="{{ url_for('show_10') }}">
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Show Results
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenu2">
<button class="dropdown-item" value = "{{ request.path }}" type="button">Show 10 </button>
</div>
</div>
</form>
Итакчто я хочу сделать, если текущий путь - это определенный маршрут, т. е. "/ sort_by_rating", то он должен перейти к функции, которая будет показывать результаты только по 10 на страницу для этого поиска.
@app.route('/show_10', methods = ['GET', 'POST'])
def show_10():
page = request.args.get('page', 1, type=int)
print(request.data['name'])
if request.method == 'POST':
if "/sort_by_bestseller" in request.form:
books = Book.query.filter(Book.best_seller == True).paginate(page=page, per_page=10)
if "/sort_by_rating" in request.form:
books = Book.query.order_by(Book.rating).paginate(page=page, per_page=10)
if "/sort_by_date" in request.form:
books = Book.query.order_by(Book.date).paginate(page=page, per_page=10)
return render_template('search_by_author.html', books=books)
IЯ очень новичок в веб-разработке.Я не уверен, что моя логика верна.Однако, когда я нажимаю на кнопку, чтобы показать 10 результатов, она просто остается на текущей странице, и никаких изменений не происходит.Любая помощь приветствуется.