gpt4 book ai didi

python - Flask:提交表单后重定向到同一页面

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:43 26 4
gpt4 key购买 nike

我的模板中有两种形式:一种用于发布内容,另一种用于激活服务器上的文件删除:

<div style="margin-bottom:150px;">
<h4>Delete</h4>
<form method="post" action="/delete">
<div class="form-group">
<input type="hidden" name="delete_input"></input>
</div>
<button type="submit" class="btn btn-danger" id="btnSignUp">Delete</button>
</form>
</div>

<div style="margin-bottom:150px;">
<h4>URLs</h4>
<form method="post" action="/">
<div class="form-group">
<textarea class="form-control" rows="5" id="urls" name="url_area"></textarea>
</div>
<button type="submit" class="btn btn-primary" id="btnSignUp">Urls</button>
</form>
</div>

我的 app.py 看起来像这样:

@app.route("/")
def main():
return render_template('index.html')


@app.route('/', methods=['POST'])
def parse_urls():
_urls = request.form['url_area'].split("\n")
image_list = get_images(_urls)
return render_template('index.html', images=image_list)


@app.route('/delete', methods=['POST'])
def delete_images():
file_list = [f for f in os.listdir("./static") if f.endswith(".png")]
for f in file_list:
os.remove("./static/" + f)
image_list = []
conn = sqlite3.connect('_db/database.db')

curs = conn.cursor()
sql = "DROP TABLE IF EXISTS images"
curs.execute(sql)
conn.commit()
conn.close()
return render_template('index.html', images=image_list)

两个问题:

  • 我在提交表单后重新加载页面时收到表单重新提交消息
  • 我想为所有内容提供一个 url

在我看来,我需要使用重定向来避免重复提交,并且在调用 delete 之后,我需要重定向到索引。

我怎样才能正确地做到这一点?

我知道 redirecturl_for,但如何重定向到同一页面?

最佳答案

可以通过request.url获取当前请求的URL:

因此,要重定向到同一页面,请使用:

redirect(request.url)

关于python - Flask:提交表单后重定向到同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com