烧瓶简单路由出错

时间:2018-12-28 20:49:19

标签: flask routing

我在Flask中进行简单的路由时遇到了一个问题,我无法理解。

这是有问题的功能和装饰器:

@app.route('/download/<filepath>', methods=['GET', 'POST'])
def download(filepath):
    return(send_file(filepath, as_attachment=True))

被以下javascript触发:

var route='/download/'+filepath
$('#main').append('<div id="download"><div>Your report has been created</div><a class="btn btn-info btn-lg" href="'+route+'">Download report</a></div>');

“未找到”错误表示路由出现问题,而不是与文件路径有关的简单IOerror。

但是路由对我来说似乎可以,我犯了一些明显的错误吗? 非常感谢!

编辑:如果相关,请在Windows中

1 个答案:

答案 0 :(得分:0)

查看Flask documentation中指定参数类型的转换器类型:

string  (default) accepts any text without a slash
path    like string but also accepts slashes

我怀疑您的变量需要为path类型,而不是默认的string

@app.route('/download/<path:filepath>', methods=['GET', 'POST'])