我正在开发一个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
答案 0 :(得分:0)
由于您的路由设置为/ users,所以不应该是www.website.com/users/person1
吗?
对于动态网址,您可以尝试以下操作
@app.route('/users/<username>', methods=['GET', 'POST'])
def users(username):
...
要访问说/ users / person1,您可以按如下方式使用return redirect
:
return redirect(url_for("users",username=form.name.data))