Pythonで作る簡単ウェブアプリ
ステップバイステップガイド
こんにちは!今回はPythonを使って簡単なウェブアプリケーションを作成する方法を、初心者向けに丁寧に説明していきます。ウェブアプリケーションの開発は難しそうに見えるかもしれませんが、実際にはPythonといくつかの基本的なツールを使うことで、意外と簡単に始められます。では、さっそく始めましょう!
1. 必要なツールのインストール
ウェブアプリケーションを作成するためには、いくつかのツールが必要です。ここではPythonとFlaskという軽量なウェブフレームワークを使用します。
Pythonのインストール
まずはPythonがインストールされているか確認しましょう。ターミナル(コマンドプロンプト)で以下のコマンドを入力します。
bash
コードをコピーする
python --version
Pythonがインストールされていない場合は、公式サイトからダウンロードしてインストールしてください。
Flaskのインストール
次にFlaskをインストールします。ターミナルで以下のコマンドを入力します。
bash
コードをコピーする
pip install Flask
2. Flaskアプリケーションの作成
Flaskがインストールできたら、さっそくアプリケーションを作成してみましょう。
プロジェクトディレクトリの作成
まず、新しいプロジェクトのディレクトリを作成します。
bash
コードをコピーする
mkdir my_flask_app cd my_flask_app
基本的なアプリケーションの作成
次に、app.pyというファイルを作成し、以下のコードを入力します。
python
コードをコピーする
from flask import Flask app = Flask(__name__) @app.route('/') def home(): return "Hello, Flask!" if __name__ == '__main__': app.run(debug=True)
このコードは非常にシンプルなFlaskアプリケーションです。/というルートにアクセスしたときに、「Hello, Flask!」というメッセージを表示します。
アプリケーションの実行
ターミナルで以下のコマンドを入力して、アプリケーションを実行します。
bash
コードをコピーする
python app.py
ブラウザを開いてhttp://127.0.0.1:5000/にアクセスすると、「Hello, Flask!」というメッセージが表示されます。これで基本的なFlaskアプリケーションが動作していることが確認できました。
3. テンプレートの使用
次に、HTMLテンプレートを使ってウェブページの内容を管理する方法を見ていきましょう。
テンプレートディレクトリの作成
プロジェクトディレクトリ内にtemplatesというディレクトリを作成します。
bash
コードをコピーする
mkdir templates
HTMLテンプレートの作成
templatesディレクトリ内にindex.htmlというファイルを作成し、以下のコードを入力します。
html
コードをコピーする
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Flask App</title> </head> <body> <h1>Hello, Flask!</h1> <p>これはテンプレートを使ったページです。</p> </body> </html>
テンプレートのレンダリング
app.pyを以下のように変更して、テンプレートをレンダリングするようにします。
python
コードをコピーする
from flask import Flask, render_template app = Flask(__name__) @app.route('/') def home(): return render_template('index.html') if __name__ == '__main__': app.run(debug=True)
アプリケーションを再度実行し、ブラウザでページをリロードすると、HTMLテンプレートが表示されるはずです。
4. フォームの処理
次に、フォームを使ってユーザーからの入力を処理する方法を見ていきましょう。
HTMLフォームの作成
index.htmlを以下のように変更して、フォームを追加します。
html
コードをコピーする
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Flask App</title> </head> <body> <h1>Hello, Flask!</h1> <p>これはテンプレートを使ったページです。</p> <form action="/greet" method="post"> <label for="name">名前:</label> <input type="text" id="name" name="name"> <button type="submit">送信</button> </form> </body> </html>
フォームデータの処理
app.pyを以下のように変更して、フォームから送信されたデータを処理します。
python
コードをコピーする
from flask import Flask, render_template, request app = Flask(__name__) @app.route('/') def home(): return render_template('index.html') @app.route('/greet', methods=['POST']) def greet(): name = request.form.get('name') return f"こんにちは、{name}さん!" if __name__ == '__main__': app.run(debug=True)
アプリケーションを再度実行し、名前を入力してフォームを送信すると、「こんにちは、○○さん!」というメッセージが表示されるはずです。
5. データベースの利用
最後に、データベースを使ってデータを保存・管理する方法を見ていきましょう。ここでは、SQLiteという軽量なデータベースを使用します。
SQLAlchemyのインストール
まず、SQLAlchemyというORM(オブジェクト関係マッピング)ライブラリをインストールします。
bash
コードをコピーする
pip install SQLAlchemy
データベースの設定
app.pyを以下のように変更して、データベースを設定します。
python
コードをコピーする
from flask import Flask, render_template, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db' db = SQLAlchemy(app) class User(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), nullable=False) @app.route('/') def home(): return render_template('index.html') @app.route('/greet', methods=['POST']) def greet(): name = request.form.get('name') new_user = User(name=name) db.session.add(new_user) db.session.commit() return f"こんにちは、{name}さん!" if __name__ == '__main__': db.create_all() app.run(debug=True)
これで、フォームから送信された名前がデータベースに保存されるようになります。
まとめ
この記事では、Pythonを使って簡単なウェブアプリケーションを作成する方法をステップバイステップで解説しました。Flaskを使えば、シンプルでありながらパワフルなウェブアプリケーションを短時間で開発することができます。ぜひ、この記事を参考にして、自分だけのウェブアプリケーションを作ってみてください。Happy Coding! 🎉
「たったの数ステップで、あなたも電子書籍の作者に。ChatGPTの簡単マニュアルで始めよう!」