我尝试阅读位于路径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
?感谢。
答案 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