Как передать параметры GET в URL-адрес с помощью запроса Flask

Я знаю, как получить параметры запроса из URL-адреса с помощью запроса Flask: request.args.get('<param>'). Действительно, это единственное, что я могу найти при поиске по заголовку вопроса:

Мне нужно знать, как отправить параметр запроса для URL-адреса пользователя.

Например, flask_login имеет параметр «далее», в котором хранится URL-адрес, к которому пользователь обращался, когда он обращался к маршруту, обернутому в @login_required, чтобы они могли быть перенаправлены на него после входа в систему. Мне нужна именно эта функциональность с моим собственные формы, но я не могу найти способ реализовать это.

Соответствующий раздел кода входа в flask находится здесь, но я не могу понять, как они передают параметр.

Мне нужен способ записать URL-адрес пользователя, когда он щелкает ссылку на страницу формы, передать его в качестве параметра запроса GET в своем URL-адресе на странице формы и повторно получить к нему доступ, когда они отправляют или отменяют форму, чтобы вернуть их к предыдущему страница.


person mas    schedule 31.08.2018    source источник
comment
используйте функцию перенаправления или передайте его как URL-адрес запроса как myserver:myport/mypage?arg1=val1&arg2 =val2 и т. д.   -  person E.Serra    schedule 31.08.2018


Ответы (1)


Согласно документации я нашел ответ (@E.Serra для импульса в правильном направлении):

flask.url_for(endpoint, **values)

Создает URL-адрес заданной конечной точки с помощью предоставленного метода.

Переменные аргументы, неизвестные целевой конечной точке, добавляются к сгенерированному URL-адресу в качестве аргументов запроса. Если значение аргумента запроса равно None, вся пара пропускается. Если чертежи активны, вы можете сократить ссылки на один и тот же чертеж, поставив перед локальной конечной точкой точку (.).

Итак, если у вас есть маршрут

@app.route('/view/<variable>/')
def view(variable):
    pass

Звонок

url_for('view', variable='parameter', variable2='parameter2')

создаст URL-адрес, где параметр2 является аргументом запроса.

person mas    schedule 31.08.2018