Flask靜態檔案


Web應用程式通常需要一個靜態檔案,例如支援顯示網頁的JavaScript檔案或CSS檔案。 通常,可以通過組態Web伺服器提供這些服務,但在開發過程中,這些檔案將從包中的靜態檔案夾或模組旁邊提供,它將在應用程式的/static上提供。

使用特殊的端點「靜態」來為靜態檔案生成URL。

在以下範例中,index.html中的HTML按鈕的OnClick事件呼叫hello.js中定義的javascript函式,該函式在Flask應用程式的URL => / 中呈現。

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)

index.html 中的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")
}