Flask - Статические файлы

Веб-приложению часто требуется статический файл, например javascript файл или CSSфайл, поддерживающий отображение веб-страницы. Обычно веб-сервер настроен для их обслуживания, но во время разработки эти файлы обслуживаются из статической папки в вашем пакете или рядом с вашим модулем, и они будут доступны по адресу/static в приложении.

Специальная конечная точка static используется для генерации URL для статических файлов.

В следующем примере javascript функция, определенная в hello.js называется на OnClick событие кнопки HTML в index.html, который отображается на ‘/’ URL-адрес приложения Flask.

from flask import Flask, render_template
app = Flask(__name__)

@app.route("/")
def index():
   return render_template("index.html")

if __name__ == '__main__':
   app.run(debug = True)

HTML-сценарий index.html приведен ниже.

<html>
   <head>
      <script type = "text/javascript" 
         src = "{{ url_for('static', filename = 'hello.js') }}" ></script>
   </head>
   
   <body>
      <input type = "button" onclick = "sayHello()" value = "Say Hello" />
   </body>
</html>

hello.js содержит sayHello() функция.

function sayHello() {
   alert("Hello World")
}