如何从 Flask 服务器中的外部文件夹访问文件?

2024-03-27

我是 Flask 新手,对于将外部文件夹中的库包含到 html 模板中感到非常困惑。我知道如何包括static文件夹,但我想将代码和库文件保存在单独的文件夹中。所以,我的目录结构是这样的:

./main_directory
|
|_./Code
| |_./flask_script.py
| |_./static
|
|_./Libraries

我知道关于send_from_directory()功能,但我不明白如何使用它。我见过最常见的就是:

@app.route('/cdn/<path:filename>')
def custom_static(filename):
    return send_from_directory(app.config['CUSTOM_STATIC_PATH'], filename)

这是来自另一个 StackOverflow 答案。但这里是什么cdn在这种情况下?另外,有什么价值app.confg['CUSTOM_STATIC_PATH']设置?为了使这项工作正常进行,需要在 HTML 模板中完成哪些操作?


一般来说,使用 Flask 提供静态文件只对开发有好处。实际上,在上线时,建议以其他方式提供静态文件,例如在应用程序前面放置一个 Web 服务器并将文件服务委托给它,或者将文件放入文件存储中,例如 AWS S3。

关于你的custom_static route, cdn在本例中只是一个 url 前缀(可以是任何内容),然后您可以从模板中寻址您的静态资源,例如<img src="/cdn/test.jpg">. (The cdn前缀可以给你一个提示,这些文件稍后会被移动到 CDN,并且在生产中不会由 Flask 提供)。

app.config['CUSTOM_STATIC_PATH']应设置为包含自定义静态文件的目录的绝对路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Flask 服务器中的外部文件夹访问文件? 的相关文章

随机推荐