Python+FlaskでWebアプリを作る手順まとめ

プログラミング

Webアプリを自分で作ってみたいけれど、「何から始めたらいいかわからない」とお悩みではありませんか?
そんな方におすすめなのが、PythonとFlaskを使ったシンプルなWebアプリ作成です。

Pythonは初心者にも理解しやすく、Flaskは軽量で学びやすいフレームワークです。
この記事では、Webアプリを作るために必要な手順を丁寧に解説します。

コード付きで手順をまとめていますので、誰でもすぐに動くアプリを作ることが可能です!


PythonとFlaskとは何かを解説

FlaskはWebアプリに最適な理由

結論:PythonとFlaskを使えば、少ないコードでWebアプリが作れます。

理由:

  • Pythonは読みやすい
  • Flaskは軽量かつ自由度が高い
  • 初心者にも扱いやすい

たとえば、次のような特徴があります:

  • 1ファイルでアプリ構築が可能
  • 学習コストが低い
  • 機能を後から拡張しやすい

このため、Flaskは学習にも実用にもぴったりな選択肢です。


Flaskの開発環境を準備する

Python・Flaskのインストール

以下の手順で開発環境を整えましょう。

# Pythonをインストール(公式サイトより)

Welcome to Python.org
The official home of the Python Programming Language
# 仮想環境の作成 python -m venv venv source venv/bin/activate # Windowsなら venv\Scripts\activate # Flaskのインストール pip install flask

仮想環境を利用することで、他のプロジェクトに影響を与えません。


Webアプリの構成を設計する

最小構成のディレクトリ

myapp/
├── app.py
└── templates/
    └── index.html

最初はファイルを少なくして、動作を確かめながら進めましょう。


Flaskで基本のルーティングを作る

「Hello, World!」を表示するコード

from flask import Flask

app = Flask(__name__)

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

if __name__ == "__main__":
    app.run(debug=True)

ブラウザで http://localhost:5000 にアクセスすれば表示されます。


HTMLテンプレートを組み込む

Jinja2で動的なページを表示

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html")
<!-- templates/index.html -->
<!DOCTYPE html>
<html>
<head><title>Flask App</title></head>
<body>
  <h1>Flask Webアプリへようこそ</h1>
</body>
</html>

これで、静的HTMLも読み込めるようになります。


フォームの入力を受け取る方法

POST送信の受け取り

from flask import request

@app.route("/submit", methods=["POST"])
def submit():
    name = request.form.get("name")
    return f"{name}さん、送信ありがとうございます!"

フォームの入力を処理し、動的に応答を表示できます。


よくあるエラーとその解決策

  • ModuleNotFoundError: No module named 'flask'
    → Flaskのインストールが必要です。pip install flask を忘れずに。
  • jinja2.exceptions.TemplateNotFound
    templates フォルダ内にHTMLを置いているか確認してください。

完成形コード(app.py)

from flask import Flask, render_template, request

app = Flask(__name__)

@app.route("/")
def index():
    return render_template("index.html")

@app.route("/submit", methods=["POST"])
def submit():
    name = request.form.get("name")
    return f"{name}さん、送信ありがとうございます!"

if __name__ == "__main__":
    app.run(debug=True)

まとめ:Python+Flaskは最強の入門環境

  • Python+FlaskでWebアプリが作れる
  • 初心者にもわかりやすい構文
  • フォームやHTMLも簡単に連携可能
  • 環境構築もシンプル

まずは「Hello, World!」を表示するところから始めましょう。
次は、データベース連携やログイン機能にも挑戦してみてください!

タイトルとURLをコピーしました