Flask返回静态文件

时间:2022-06-01 14:07:34

可以使用flask的send_from_directory方法来发送静态文件,相当简单。

send_from_directory使用示例

from flask import Flask, request, send_from_directory
# 设置项目的根目录作为静态文件的文件夹。你可以根据具体使用改变
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()

需要注意的是:千万不要直接在send_file或send_static_file使用用户提供的路径。这样会有安全问题。

send_static_file使用示例

from flask import Flask, request
# 设置项目的根目录作为静态文件的文件夹。你可以根据具体使用改变
app = Flask(__name__, static_url_path='')
@app.route('/')
def root():
return app.send_static_file('index.html')

如果可以,建议使用ngix,apache httpd等web服务器来响应静态文件。它们相对直接使用flask性能要高。