我有一个名为 search 的路由:@app.route('/search') 是否可以向其中添加多个可选参数?例子:
@app.route('/search/pg/<int:pg>')
@app.route('/search/types/<types>')
@app.route('/search/number/<int:number>')
@app.route('/search/subject/<subject>')
Run Code Online (Sandbox Code Playgroud)
URL 中的顺序不重要,所以我可以调用 /search/pg/2 或 /search/subject/MySubject/pg/2 或 /search/types/posts/subject/MySubject/pg/2
我试过了,但它只适用于完整路径和所有参数:
@app.route('/search/pg/<int:pg>/types/<types>/subject/<subject>', methods=['GET', 'POST'])
@app.route('/search/subject', defaults={'subject', None})
@app.route('/search/pg/<int:pg>/types/<types>', methods=['GET', 'POST'])
@app.route('/search/types', defaults={'types', None})
@app.route('/search', defaults={'pg': 1}, methods=['GET', 'POST'])
@app.route('/search/pg/<int:pg>', methods=['GET', 'POST'])
def search(pg, types=None, subject=None):
pass
Run Code Online (Sandbox Code Playgroud)