English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

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

Использование специальных точек входа «статический» для генерации URL для статических файлов.

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

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
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-скрипт в файле

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
<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().

# Filename: example.py
# Copyright: 2020 By w3codebox
# Author by: ru.oldtoolbag.com
# Date: 2020-08-08
function sayHello() {
    alert("Hello World")
 }