Flask - Arquivos estáticos

Um aplicativo da web geralmente requer um arquivo estático, como um javascript arquivo ou um CSSarquivo de suporte à exibição de uma página da web. Normalmente, o servidor web está configurado para atendê-los para você, mas durante o desenvolvimento, esses arquivos são servidos de uma pasta estática em seu pacote ou próximo ao seu módulo e estarão disponíveis em/static no aplicativo.

Um ponto de extremidade especial 'estático' é usado para gerar URL para arquivos estáticos.

No exemplo a seguir, um javascript função definida em hello.js é chamado OnClick evento do botão HTML em index.html, que é renderizado em ‘/’ URL do aplicativo 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)

O script HTML de index.html é fornecido abaixo.

<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 contém sayHello() função.

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