可以使用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性能要高。