2021年5月23日日曜日

Python Flask 入門1回目

 まずはこのページを参照。

https://aiacademy.jp/media/?p=57

from flask import Flask
app = Flask(__name__static_folder='.'static_url_path='')
@app.route('/')
def index():
    return app.send_static_file('index.html')
 
app.run(port=8000debug=True)

こいつを実行すると同じフォルダにある index.html    が実行される。

localhost:8000 にアクセスが必要

これだけだとまだ難しいので下記サイトを見ると、少し理解できた。

https://news.mynavi.jp/article/zeropython-64/

# 必要なモジュールの取り込み
from flask import Flask

# Flaskオブジェクトの生成 --- (*1)
app = Flask(__name__)

# ルート( / )へアクセスがあった時の処理を記述 --- (*2)
@app.route("/")
def root():
    return "Hello"

# サーバーを起動 --- (*3)
if __name__ == "__main__":
    app.run(debug=True, port=8888)

「http://localhost:8888」にこいつは開かないとならない。

こんな使い方もあるのですね。

ここからはマイナビのサイトを参考に理解を進める。

from flask import *

# Flaskオブジェクトの生成
app = Flask(__name__)

# ルート( / )へアクセスがあった時 --- (*1)
@app.route("/")
def root():
    # HTMLでWebフォームを記述 --- (*2)
    return """
    <html><body>
    <form action="/calc" method="post">
      <input type="text" name="a"> ×
      <input type="text" name="b">
      <input type="submit" value="計算">
    </form>
    """

# フォームの値を受け取って結果を表示 --- (*3)
@app.route("/calc", methods=["post"])
def calc():
    a = int(request.form.get("a"))
    b = int(request.form.get("b"))
    r = a * b
    return "<h1>答えは..." + str(r) + "</h1>"    

# サーバーを起動
if __name__ == "__main__":
    app.run(debug=True, port=8888)

掛け算プログラムです。

こんな感じでpostを利用してpythonで計算して返す。

同じWebページで返すにはどうすりゃいいんだ?




0 件のコメント:

コメントを投稿