FlaskでJavaScript関数を呼び出す方法


方法1: Flaskのテンプレート内でJavaScript関数を呼び出す FlaskのテンプレートエンジンであるJinja2を使用して、JavaScript関数を呼び出すことができます。以下はその例です。

app.py (Pythonコード):

from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
    return render_template('index.html')
if __name__ == '__main__':
    app.run()

index.html (テンプレート):

<!DOCTYPE html>
<html>
<head>
    <title>FlaskでJavaScript関数を呼び出す</title>
    <script>
        function myFunction() {
            alert('JavaScript関数が呼び出されました!');
        }
    </script>
</head>
<body>
    <h1>FlaskでJavaScript関数を呼び出す</h1>
    <button onclick="myFunction()">関数を呼び出す</button>
</body>
</html>

上記の例では、FlaskアプリケーションはルートURLにアクセスされたときにindex.htmlを表示します。index.html内ではJavaScript関数myFunction()が定義されており、ボタンがクリックされるとその関数が呼び出されます。

方法2: FlaskのエンドポイントからJavaScript関数を呼び出す FlaskのエンドポイントからJavaScript関数を呼び出すこともできます。以下はその例です。

app.py (Pythonコード):

from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/call-js-function')
def call_js_function():
    # JavaScript関数を呼び出す処理
    # ...
    return jsonify({'result': 'JavaScript関数が呼び出されました!'})
if __name__ == '__main__':
    app.run()

JavaScriptコード:

fetch('/api/call-js-function')
    .then(response => response.json())
    .then(data => {
        alert(data.result);
    });

上記の例では、Flaskアプリケーションは/api/call-js-functionエンドポイントにアクセスされたときにJavaScript関数を呼び出します。JavaScriptコードではfetch APIを使用してエンドポイントにリクエストを送り、レスポンスのデータを取得してアラートで表示しています。

これらはFlaskでJavaScript関数を呼び出す例の一部です。他にもさまざまな方法がありますが、これらの例を参考にしてください。