gpt4 book ai didi

python - 如何使用 url_for 读取 templates 文件夹中的文件?

转载 作者:行者123 更新时间:2023-12-01 02:11:57 25 4
gpt4 key购买 nike

我尝试读取位于路径:templates/print.html 中的文件print.html

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

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

但是,我收到如下错误回溯:

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

这有什么问题吗?

如果我使用 {{ url_for('static', filename='print.html') }},它就能正常查找。但是,我尝试读取的文件不在 static 文件夹中,而是在 templates/print.html 中。

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

最佳答案

我首先要说的是——如果您尝试 url_for 一个模板,很可能您误解了一个概念。但是,假设您知道渲染模板和静态资源之间的区别:

您可以为 print.html 构建一条路由:

@app.route('/print')
def print():
return render_template('print.html')

这将使您能够 url_for('print') 获取已解析的 URL,并且 print.html 模板中的任何动态组件都将呈现为静态html。

否则,如果 print.html 确实是静态的 - 只需将其移动到 static 文件夹,然后使用 url_for('static', filename ='print.html') 正如您所指出的。

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

关于python - 如何使用 url_for 读取 templates 文件夹中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48650026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com