在 Flask app.route() 中将文件路径作为参数传递

Pass file path as parameter in Flask app.route()

这是我的代码。我试图将文件路径作为参数,但目录之间路径中的“/”使该方法将目录视为单独的参数。

from flask import Flask, abort, redirect, url_for, send_from_directory

app = Flask(__name__)


@app.route('/<a>/<b>/<c>/<d>/<e>/<f>')
def url(a, e, b, c, d, f):
    if f == '':
        f = 'index.html'
    print(f)


if __name__ == "__main__":
    app.run(host="0.0.0.0", debug=True, port=80)

基本上,变量 f 应该采用文件路径(a、b、c、d、e 只是其他参数),并且当输入 / 时,该方法将 f 视为多个参数。 是否有任何不更改拆分变量的修复程序?

试试这个:

@app.route('/<a>/<b>/<c>/<d>/<e>/<path:f>')

参见:http://flask.pocoo.org/snippets/76/