我有一个路由,它有两个可变部分,并使用defaults
来指定每个部分的默认值.
@app.route("/api/<a>/<b>", defaults={"a": 0, "b": 0})
def api(a, b):
return f"{a=}, {b=}"
我想建立一个URL,覆盖b
,而保留默认值a
,/api/0/
.
我试着排除a
url_for("api", b=1)
,但得到了werkzeug.routing.BuildError: Could not build url for endpoint 'api' with values ['b']. Did you forget to specify values ['a']?
.似乎我不能排除一个变量,默认值在中没有被替换.
考虑到这一点,我试着用这两个变量调用,但得到了werkzeug.routing.BuildError: Could not build url for endpoint 'index.API.event_average_time_in_seconds' with values ['a', 'b'].
.似乎我也无法覆盖这两个变量.
如何在路由中使用默认值以允许不传递所有变量的值?