Предпочтительным методом является использование nginx или другого веб-сервера для обслуживания статических файлов; они смогут сделать это более эффективно, чем Flask.
Однако вы можете использовать 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/')
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
# set the project root directory as the static folder, you can set others.
app = Flask(__name__, static_url_path='')
@app.route('/')
def root():
return app.send_static_file('index.html')