Flask中如何提供静态文件
1、可以使用send_from_directory从目录发送文件,这在某些情况下非常方便。
from flask import Flask, request, send_from_directory # set the project root directory as the static folder, you can set others. app = Flask(__name__, static_url_path='') @app.route('/js/<path:path>') def send_js(path): return send_from_directory('js', path) if __name__ == "__main__": app.run()
2、可以使用app.send_file或app.send_static_file,但强烈建议不要这样做。
因为它可能会导致用户提供的路径存在安全风险。
send_from_directory旨在控制这些风险。
最后,首选方法是使用NGINX或其他Web服务器来提供静态文件,将能够比Flask更有效地做到这一点。
Flask 编程技术、程序设计和范例源码:Flask 是一个使用 Python 编写的,用于开发 Web 应用的轻量级框架。Flask 的 WSGI 工具箱采用了 Werkzeug,模板引擎则使用了 Jinja2。Werkzeug 和 Jinja2 是 Flask 框架的核心。Flask 又被称为 microframework(微框架),因为它使用了简单的核心,并用 extension 增加其它功能。