LoginSignup
111
125

More than 1 year has passed since last update.

はじめての Flask #1 ~はじめてのウェブアプリ~

Last updated at Posted at 2018-05-20

次回 ~POSTを受け取ろう~

改訂 (2022/08/26)
今現在Flaskは、Pythonで新しくWebアプリを作る際の選択肢として最適とは言えません。APIサーバを作るのであればFastAPI, それ以外であればResponderなどをお勧めします。

はじめに

この記事は

Pythonはさわったことがある・分かるけれど、webアプリの作り方がわからない…自信が無くて、どうやって始めればいいかわからない…
といった方向けの入門記事です。

インストール

この記事では、Python3がインストールされていることを前提に進めていきます。おすみでない方は
Python3 install から端末にあったPython3をダウンロード、インストールしてください。

インストールが終わったら、コマンドプロンプト、terminal等で

$pip install flask

と実行してください。必要なライブラリ(第三者が提供する機能群)がインストールされます。

おはよう、世界!

では、一番簡単なwebアプリ "Hello, World!"を画面に表示するサイトを作ってみましょう。

from flask import *  # 必要なライブラリのインポート

app = Flask(__name__)  # アプリの設定


@app.route("/")  # どのページで実行する関数か設定
def main():
    return "Hello, World!"  # Hello, World! を出力

if __name__ == "__main__":  # 実行されたら
    app.run(debug=True, host='0.0.0.0', port=8888, threaded=True)  # デバッグモード、localhost:8888 のマルチスレッドで実行

これを実行して、http://127.0.0.1:8888/ に接続してみてください。

Hello, World!

と画面に表示されているはずです。

おはよう、ユーザーさん!

今度は、urlの中身を受け取ってそれを出力してみましょう。

mainのあとに

@app.route("/<name>")
def hello_name(name):
    return "Hello, {}".format(name)

と付け加えて実行してみてください。
最終的に

from flask import *

app = Flask(__name__)


@app.route("/")
def main():
    return "Hello, World!"


@app.route("/<name>")
def hello_name(name):
    return "Hello, {}".format(name)

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=8888, threaded=True)

こうなっていると思います。
試しに http://127.0.0.1:8888/Python に接続するとわかりますが、出力される内容が

Hello, Python

になっていますよね。
<name>の中にPythonが割り当てられた結果です。このように、urlのデータを読み取って動的にページを作ることもできます。

次回予告

次回は、偶数・奇数判定サイトを作ってみましょう!!

111
125
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
111
125