render_template无法找到模板,send_file可以

时间:2017-06-14 15:57:06

标签: python flask jinja2

在某些情况下,我想渲染模板,而在其他情况下,我想要提供模板文件。我将同一条路径传递到render_templatesend_file,但只有send_file有效。

resp = render_template('templates/index.html')
resp = send_file('templates/index.html')

1 个答案:

答案 0 :(得分:2)

模板路径相对于模板根目录。 send_file路径相对于应用根。

render_template('file.html')
send_file('templates/file.html')

除此之外,模板路径实际上不是文件系统路径,它们恰好在默认的Flask案例中看起来像它们。所以“模板根”真的意味着“模板加载器的查找路径”而不是“模板文件夹”。