gpt4 book ai didi

python - 无法确定导致 Flask Werkzeug BuildError 的原因

转载 作者:太空宇宙 更新时间:2023-11-03 21:23:08 25 4
gpt4 key购买 nike

我在网站上使用 URL 参数作为用户数据的标识符。如果用户单击网站上的一个特定链接,这些参数将为“无”,我尝试使用以下函数将它们发送回具有正确参数的同一页面:

<a href="{{ url_for('site', param1='none', param2='none', param3='none', param4='none') }}">Site</a>

@app.route('/my-site/<param1>/<param2>/<param3>/<param4>', methods=['GET', 'POST'])
def site():

if param1 == 'none':

linking_data = Posts.query.filter_by(user=current_user.email).first()

return render_template('site', param1=linking_data.param1,
param2=linking_data.param2,
param3=linking_data.param3,
param4=linking_data.param4)

如果参数是硬编码的,这种方法效果很好。但是,如果我尝试按照上面的方式定义参数,则会导致以下错误:

werkzeug.routing.BuildError: Could not build url for endpoint 'site' with values ['param3', 'param4'].     
Did you forget to specify values ['param1', 'param2']?

为什么它认为我没有指定前两个参数?

最佳答案

您需要将 url 参数添加到处理程序:

@app.route('/my-site/<param1>/<param2>/<param3>/<param4>', methods=['GET', 'POST'])
def site(param1=None, param2=None, param3=None, param4=None):
....

提示:None 值输出为字符串 None,而不是 none。如果您更新代码以处理不区分大小写的“none”字符串值,那就更好了。

关于python - 无法确定导致 Flask Werkzeug BuildError 的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54075127/

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