在Flas中执行POST时保存GET URI

2024-04-25 17:36:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要保存GET URI,以便在Flask中发布表单后稍后使用。问题是,在执行POST时它会被覆盖。以下是代码(示意图):

@app.route('/test', methods=['get', 'post'])
def test_view():
    url_query = request.url.replace(request.base_url,'/')

    form = Form()
    if form.validate_on_submit():
      # at this point url_query is already overriten with '/'
      yadayada(url_query)

例如,如果用户请求https://host/test?kekeke=nenene 我希望字符串“/测试?kekeke=nenene“将被传递给yadayada(),但实际上它将被“/”覆盖。如何妥善解决?谢谢。你知道吗


Tags: 代码testformurlflask表单getrequest
1条回答
网友
1楼 · 发布于 2024-04-25 17:36:40

设置Form操作以包含查询参数:

<form method="POST" action="{{ url_for('test_view', **request.args) }}">

其中,^{} object允许您访问查询参数,^{} function生成一个新的URL,其中,request.args中的每个键值对都作为查询参数。你知道吗

现在,在发布表单时,发送的查询参数与呈现表单的原始GET请求使用的查询参数完全相同。你知道吗

相关问题 更多 >