0 / 0 / 1
Регистрация: 05.11.2019
Сообщений: 14

Двойной request.args.get() в Flask

25.01.2021, 22:01. Показов 4158. Ответов 3

Студворк — интернет-сервис помощи студентам
Возникла такая проблема с сортировкой контента (магазина) когда есть запрос ?page=... или любой другой запрос и когда я хочу добавить ещё один запрос к уже ране существующему пропадает первый и остаётся только второй запрос. Пробывал делать по другому ссылку (./) но запрос шёл на начальную страницу. Спасибо.
Вырезка HTML
HTML5
1
2
 <a class="page-link" href="/product_list?page={{page}}" id="page-link">{{page}}</a>
 <a href="/product_list?order=2">Price high to low</a>
Вырезка Flask
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@app.route('/product_list', methods=['GET', 'POST'])
def product_list():
page = request.args.get('page')
if page and page.isdigit():
        page = int(page)
    else:
        page = 1
f order == '1':
        pages = items.order_by(Item.price.asc()).paginate(page=page, per_page=6)
    elif order == '2':
        pages = items.order_by(Item.price.desc()).paginate(page=page, per_page=6)
    else:
        pages = items.paginate(page=page, per_page=6)
    
    return render_template('product_list/index.html', pages=pages, items=items, arguments=arguments)
P.S. при переходе на след. страницу пропадает метод сортировки.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.01.2021, 22:01
Ответы с готовыми решениями:

Flask request.get_json()
Всем привет. Сделал декоратор, который должен принимать JSON-строку из html form. @app.route('/processjson', methods=) data =...

Загрузка файлов Flask. Ошибка "Bad Request"
Здравствуйте! Нужно помощь/подсказка. Писал небольшое приложение на Flask и столкнулся с проблемой, когда не могу написать выгрузку на...

Подключить PostgreSQL к Flask API и передавать данные таблицы в flask
Нужна срочная и большая помощь, надеюсь только на вас. Есть Python+QT5 (PYQT5) приложение. В таблицу приложения (QTableWidget)...

3
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
26.01.2021, 11:49
Вы можете назначить один обработчик для нескольких url, но не можете для одного url назначить несколько обработчиков.
Вы должны сами описать поведение в зависимости от содержимого в request.args.
0
0 / 0 / 1
Регистрация: 05.11.2019
Сообщений: 14
26.01.2021, 16:10  [ТС]
Тогда стоит создавать другой обработчик для разных запросов ?
К примеру @app.route('/.../<request>')
function(request): ...
0
0 / 0 / 1
Регистрация: 05.11.2019
Сообщений: 14
01.02.2021, 11:45  [ТС]
Решил проблему и хочу поделиться как, это решение не претендует на единственное и лучшее, но это куда лучше создавать кучу одинаковых обработчиков.

Python
1
2
arguments = request.args.to_dict()
arguments_len = len(request.args.to_dict())
HTML5
1
<a href="{% if arguments_len == 0 %}/product_list?order=2{% else %}/product_list?order=2{% if arguments['page'] %}&page={{arguments['page']}}{% endif %}{% if arguments['tag'] %}&tag={{arguments['tag']}}{% endif %}{% endif %}">...</a>
В двух словах мы находим общий массив запросов, который обновляется при новом запросе и как дополнение находим его длину, а в HTML прописываем условие если этот массив не пустой и имеет определённый аргумент то мы добавляем аргумент и оставляем старый если нет и массив пустой то просто делает один аргумент. Не самое идеальное решение то как хороший вариант.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.02.2021, 11:45
Помогаю со студенческими работами здесь

Request.Response ошибка 400 bad request
Добрый день! Прошу помочь с обработкой запросов в Python 2.7.11 Принимать реквест и сохранить на сервере файл из него уже...

Как мне использовать эту программу, и что означает args[0] и args[1] в 11 и 20 строках?
Как мне использовать эту программу, и что означает args и args в 11 и 20 строках?using System; using System.IO; class CopyFile { ...

Какого типа args main(string[] args)?
Привет всем :) Я лабы сдавал по С# и вроде бы все выучил, но преподаватель спросил, &quot;main(string args) какого типа args?&quot;, я...

Незнакомый синтаксис args = [this, args[0]]
Я только начал изучать Javascript. Пытаюсь на примере NicEdit улучшить свои знания. В коде встретил запись args = ]; Я понимаю что...

Прием json-объекта | Flask, Flask-Security, Telegram-bot
Здравствуйте, помогите , пожалуйста, Flask знаю не очень, но что-то смог, писал бота с бд и админкой, на вебхуке, но после того, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru