如何使用url_for读取模板文件夹中的文件?

时间:2018-02-06 18:56:55

标签: python flask

我尝试阅读位于路径print.html

中的文件templates/print.html

所以,我使用url_for()来引用它,如下所示:

{{ url_for('templates', filename='print.html') }}

但是,我收到了一个错误,如下面的回溯:

  

BuildError :(' templates',{' filename':' print.html'},无)

这有什么问题?

如果我使用{{ url_for('static', filename='print.html') }},它只是工作找到。但是,我尝试阅读的文件不在static文件夹中,而是在templates/print.html中。

如何使用url_for()读取print.html文件夹中的文件templates?感谢。

1 个答案:

答案 0 :(得分:0)

我首先要说的是 - 如果你试图orders.each(cache_rows: false) do |order| 一个模板,那么你可能会误解一个概念。但是,假设您知道渲染模板和静态资产之间的区别:

您可以为url_for

构建路线
print.html

然后,您可以@app.route('/print') def print(): return render_template('print.html') 获取已解析的网址,url_for('print')模板中的所有动态组件都会呈现为静态HTML。

否则,如果print.html真的是静态的 - 只需将其移至print.html文件夹,然后按照您的指示使用static

如果你只是渲染一堆模板并且不需要任何视图逻辑,那么有一个方便的Flask蓝图模式,see it here