gpt4 book ai didi

python - Flask 没有正确重定向?

转载 作者:行者123 更新时间:2023-11-28 16:31:32 27 4
gpt4 key购买 nike

所以我使用这段代码从我的 html 中获取输入,然后将其重定向到另一个函数。

@app.route('/', methods = ['POST'])
def search():
rsn = request.form['username']
return redirect(url_for('username', rsn=rsn))

它重定向到以下函数:

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

我希望 url 是 app.route 说的那个...所以如果 rsn = Hey url 将是

/username=Hey

但由于某些原因,url 变成了

/username%3DHey

为什么?

最佳答案

= 是一个 reserved character in URLs , Flask 是正确的 URL percent encoding %3D 的字符。它是一个保留字符,因为它在 path parameters 中具有特殊含义。和 query strings .

您的浏览器和 Flask 仍会正确处理该字符。

请注意,Flask 不支持带有路径参数的路由(路径元素后的键值对,由 ; 冒号分隔),其中 = 将是有效的分隔符;相反,您通常直接使用路径元素作为参数。如果你真的想要,你可以写一个 custom converter捕获 (;key(=value)?)* 模式。

关于python - Flask 没有正确重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418147/

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