Flask - отображает URL динамической страницы на основе предоставленных входных данных - PullRequest
1 голос
/ 24 апреля 2019

Я работаю над проектом Flask, который имеет простую страницу, которая получает данные от пользователей и возвращает результаты. Я пытаюсь узнать, могу ли я получить динамический URL для веб-страницы. Ниже приведены моя форма и маршрут для этой веб-страницы:

Форма

<form action=""enctype="multipart/form-data"
          method="POST">
        {{form.hidden_tag()}}
<table>
{{ render_field(form.name, size=50) }}
    <tr class="submit">
        <td>
            <button type="submit">Report</button>
        </td>
    </tr>
</table>

Просмотры

@app.route('/users', methods=['GET', 'POST'])
def users():
    form = UsersForm()
    if form.validate_on_submit():

        output = user(name=form.name.data)

        return send_file(output, attachment_filename = f'UserReport_{name}.csv', as_attachment=True)

    return render_template('name', form=form)

Вышеописанное работает просто отлично.

URL страницы - www.website.com/name

Однако я пытаюсь выяснить, можно ли настроить URL веб-страницы для динамического изменения в зависимости от значения, введенного в форму (поле name). Например, если имя person1, я хотел бы, чтобы URL был установлен на www.website.com/name/person1

1 Ответ

0 голосов
/ 24 апреля 2019

Поскольку для вашего маршрута установлено значение / users, не должно ли оно быть www.website.com/users/person1?

Для динамических URL вы можете попробовать что-то вроде следующего

@app.route('/users/<username>', methods=['GET', 'POST'])
def users(username):
...

Для доступа к say / users / person1 вы можете использовать return redirect следующим образом:

return redirect(url_for("users",username=form.name.data))

Соответствует: Как генерировать динамические URL в колбе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...