PythonでWEBアプリの三目並べを作る(準備編:FlaskとBrythonを利用)
はじめに
三目並べをブラウザ上で動かすにはどうしたらいいか考えました。本当はJavaScriptを使うのがいいのでしょうが、Brythonモジュールを使えばJavaScriptの代わりができるみたいです。
動作環境
Windows10
Python 3.7.5
Flask 1.1.1
Brython 3.8.7
作業フォルダ/ ├ static/ │ ├ brython.js │ ├ brython_stdlib.js │ └ test.py ├ templates/ │ └ sample.html └ main.py
Brythonを使ってみる
Brythonは、Pythonをブラウザ上で動かすことができるようにするモジュールです。
Brythonの公式サイトはこちらです。
https://brython.info/
モジュールのインストール
pip install brython
「brython.js」と「brython_stdlib.js」をダウンロード
https://github.com/brython-dev/brython/releases
こちらのサイトから「Brython-3.8.7.zip」をダウンロードしました。
これで準備完了です。簡単はテストページを作成してみます。
ソースコード
「作業フォルダ」
main.py
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def index(): return render_template('sample.html') if __name__ == '__main__': app.run(debug=True)
Flaskの基本になる起動プログラムです。ブラウザページを開くと「sample.html」が表示されます。
「作業フォルダ/templates/」
sample.html
<html> <head> <script type="text/javascript" src="static/brython.js"></script> </head> <body onload="brython()"> <script type="text/python" src="static/test.py"></script> <input id="text1"> <button id="btn1">click !!</button> </body> </html>
<script type="text/javascript" src="static/brython.js"></script>
staticファルダにある「brython.js」を呼び出します。
<script type="text/python" src="static/test.py"></script>
staticファルダにある「test.py」を呼び出します。
「作業フォルダ/static/」
test.py
from browser import document, alert def echo(event): alert(document["text1"].value) document["btn1"].bind("click", echo)
alert(document["text1"].value)
id「text1」(テキストボックス)のテキストを、ポップアップで表示します。
document["btn1"].bind("click", echo)
id「btn1」(ボタン)をクリックした時に、「echo関数」を呼び出します。
「main.py」を実行して、ブラウザで「127.0.0.1:5000」を開きます。
まとめ
アラートを表示する方法で、print関数の代わりに変数の値を確認したりできます。
これでJavaScriptを一切使わずにPythonでWEBアプリが作れそうです。
JavaScriptを使えばまったく必要ないのでJavaScriptを勉強したほうが早いかもしれませんが、とりあえずこの方法で三目並べを完成させたいと思います。