Flask – 静态文件



Web 应用程序通常需要静态文件,例如支持网页显示的 javascript 文件或 CSS 文件。Web 服务器通常配置为你提供服务,但在开发过程中,这些文件会从包中的 static 文件夹提供,或从模块旁边提供,且应用程序的 /static 地址将可用。

一个特殊的端点 ‘static’ 用于生成静态文件的 URL。

在以下示例中,OnClick 事件中调用的 javascript 函数定义在 hello.js 中,而 HTML 按钮在 index.html 中呈现,它在 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")
}
广告