FlaskはPythonで書かれたWebアプリケーションフレームワークで、シンプルで軽量ながら柔軟性があります。この記事では、Flaskを使ったWeb開発の基礎について解説します。
Flaskとは
Flaskは、WerkzeugというPythonのツールキットとJinja2というテンプレートエンジンを組み合わせたWebアプリケーションフレームワークです。Flaskは、シンプルながらも柔軟性が高く、小規模なアプリケーションから大規模なアプリケーションまで対応できます。また、FlaskはPythonの標準ライブラリに依存しないため、非常に軽量で高速な処理が可能です。
Flaskのインストール
Flaskを使うためには、まずFlaskをインストールする必要があります。以下のコマンドを実行して、Flaskをインストールしてください。
pip install Flask
Flaskアプリケーションの基礎
Flaskアプリケーションを作成するためには、まずapp.py
というファイルを作成します。このファイルには、Flaskアプリケーションのルーティングや動作を記述します。
以下は、最も基本的なFlaskアプリケーションの例です。
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' if __name__ == '__main__': app.run()
このコードは、Flaskアプリケーションを作成し、/
へのアクセスに対してHello, World!
というメッセージを返します。if __name__ == '__main__':
の部分は、このファイルが直接実行された場合にのみapp.run()
が実行されるようにするためのものです。
ルーティング
Flaskでは、ルーティングを使って、特定のURLにアクセスしたときにどの関数が呼び出されるかを定義します。ルーティングは、@app.route()
デコレータを使って定義します。
以下は、複数のルートを持つFlaskアプリケーションの例です。
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Index Page' @app.route('/hello') def hello(): return 'Hello, World!' if __name__ == '__main__': app.run()
この例では、/
にアクセスするとindex()
関数が、/helloにアクセスすると
hello()`関数が呼び出されます。
テンプレート
Flaskでは、HTMLテンプレートを使ってWebページを作成することができます。テンプレートを使うことで、ページの見た目を柔軟に変更することができます。
以下は、テンプレートを使ったFlaskアプリケーションの例です。
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
というテンプレートをレンダリングして、Webページを表示します。
フォーム
Flaskでは、フォームを使ってユーザーからの入力を受け取ることができます。フォームは、HTMLの<form>
タグを使って定義します。
以下は、フォームを使ったFlaskアプリケーションの例です。
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['name'] return f'Hello, {name}!' if __name__ == '__main__': app.run()
この例では、index.html
というテンプレートにフォームを定義して、ユーザーからの入力を受け取ります。submit()
関数では、request.form
を使ってフォームの値を取得し、name
に格納しています。最後に、f'Hello, {name}!'
を返して、ユーザーの入力を表示します。
結論
Flaskは、PythonのWebアプリケーション開発において、シンプルで軽量ながら柔軟性が高いフレームワークです。この記事では、Flaskの基礎について解説しました。今後は、この知識を応用して、より複雑なWebアプリケーションの開発に取り組んでみてください。