簡単プログラミングをしてみよう。

パン太郎

こんにちは!
パン太郎です。

今回は、実際にプログラミングをしてみます。
ChatGPTを使って、初心者でもアプリ開発が出来る様子をお届けします。

メロンちゃん

よろしくお願いします。

パン太郎

はじめに、ChatGPTを開いてどんなアプリを作りたいか指示を出します。

この内容で実行します。
しばらくして、以下のような回答が来ました。

上記のように、HTMLファイルも作成するか質問が来ました。
こちらは、すべてのコードが欲しいので以下のようにお願いしてみました。

回答は以下の通りです。

なかなかイイ感じに回答は来ました。
フォルダ構成は完全に分かります。
だた、コードをそれぞれ書いてほしいので指示してみます。

回答は以下の通りです。

from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
import os

app = Flask(__name__)

# SQLiteデータベースの設定
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///blood_pressure.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

# データベース操作用SQLAlchemy
db = SQLAlchemy(app)

# データベースモデル
class BloodPressureRecord(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    date = db.Column(db.String(10), nullable=False)  # 測定日
    systolic = db.Column(db.Integer, nullable=False)  # 収縮期血圧
    diastolic = db.Column(db.Integer, nullable=False)  # 拡張期血圧
    notes = db.Column(db.String(100), nullable=True)  # メモ

# ホーム画面
@app.route('/')
def index():
    records = BloodPressureRecord.query.all()
    return render_template('index.html', records=records)

# 測定データ追加
@app.route('/add', methods=['GET', 'POST'])
def add_record():
    if request.method == 'POST':
        date = request.form['date']
        systolic = request.form['systolic']
        diastolic = request.form['diastolic']
        notes = request.form.get('notes', '')

        new_record = BloodPressureRecord(date=date, systolic=systolic, diastolic=diastolic, notes=notes)
        db.session.add(new_record)
        db.session.commit()
        return redirect(url_for('index'))
    return render_template('add_record.html')

# 初期化とサーバー起動
if __name__ == '__main__':
    # データベース初期化
    with app.app_context():
        db.create_all()

    # 必要なフォルダを作成
    if not os.path.exists('templates'):
        os.makedirs('templates')
    if not os.path.exists('static'):
        os.makedirs('static')

    app.run(debug=True)
<!DOCTYPE html>
<html>
<head>
    <title>Blood Pressure Tracker</title>
</head>
<body>
    <h1>Blood Pressure Records</h1>
    <a href="/add">Add New Record</a>
    <table border="1">
        <tr>
            <th>Date</th>
            <th>Systolic</th>
            <th>Diastolic</th>
            <th>Notes</th>
        </tr>
        {% for record in records %}
        <tr>
            <td>{{ record.date }}</td>
            <td>{{ record.systolic }}</td>
            <td>{{ record.diastolic }}</td>
            <td>{{ record.notes }}</td>
        </tr>
        {% endfor %}
    </table>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <title>Add Blood Pressure Record</title>
</head>
<body>
    <h1>Add New Blood Pressure Record</h1>
    <form method="post">
        <label for="date">Date (YYYY-MM-DD):</label>
        <input type="text" id="date" name="date" required><br>

        <label for="systolic">Systolic:</label>
        <input type="number" id="systolic" name="systolic" required><br>

        <label for="diastolic">Diastolic:</label>
        <input type="number" id="diastolic" name="diastolic" required><br>

        <label for="notes">Notes:</label>
        <input type="text" id="notes" name="notes"><br>

        <button type="submit">Add Record</button>
    </form>
    <a href="/">Back to Home</a>
</body>
</html>

以上のような回答が得られました。
あとは、これをVSCodeに書き込んでいけば完了です!

まず、フォルダを作成し”blood_pressure_tracker”と名前を付けます。
今回はディスクトップに作成しました。

このフォルダをVisual Studio Codeのショートカットの上にドラッグアンドドロップします。

すると、Visual Studio Codeが起動します。

赤丸の所がフォルダ名です。

ここに、フォルダやファイルを構成していきます。

上記の赤丸の所をクリックすると、ファイルが作成されます。

今回は、app.pyと命名します。

以下の赤丸の所にプログラミングコード書けるようになります。

ChatGPTに書いてもらったapp.pyのコードを貼り付けます。

続けて、フォルダ構成を作成していきます。
目標は、以下のようにすることです。

app.pyは作成できたので、次にtemplatesフォルダを作成します。

赤丸の所をクリックすると、フォルダが作成されます。

templatesと命名します。

templatesフォルダの中に”index.html”を作成していきます。

その中身のコードも貼り付けます。

続いて、templatesフォルダの中に”add_record.html”を作成していきます。

その中身のコードも貼り付けます。

ここまで出来たら、フォルダ構成を確認します。

staticフォルダは、自動作成されるので無くて大丈夫です。

では、VSCodeを実行していきます。

上の赤丸の所辺りをドラッグすると、上の方に引っ張っていけます。

引っ張って行くと、TERMINALが見えてきます。
ここに、コマンドを入力するとプログラムを動かすことができます。

TERMINALに、python app.pyと入力しプログラムを実行します。

今回は、実行したものの動きませんでした。

動かない原因を探ります。
まず、app.py が実行できる場所にいるのか調べるためにlsと入力してみます。

ちゃんと、app.pyがある場所にいるようです。
動かない理由が良く分かりませんが、もう一度動かしてみます。

なぜか今回は、実行できました。


ctlキーを押しながら赤丸のhttp://127.0.0.1:5000をクリックします。

webアプリが起動しました。
はじめての起動のため、データがありません。

Add New Recordをクリックしデータを入力します。

データ入力画面になりました。

データを入力し、Add Recordで保存してみます。

記録されました!
これで、血圧管理アプリの完成です。

試しに、2件目も入力してみました。
このような感じで記録されていくようです。

パン太郎

改善点はいくつもありますが
とりあえず、血圧測定実績が記録できるようになりました。

メロンちゃん

全くの初心者でも、WEBアプリが
作成出来るのだなという事は分かりました。

パン太郎

面倒くさい血圧の記録も、自分の開発したアプリで管理できれば
やる気が起きるかもしれませんね。

改善点としては以下のようなことが考えられます。

  • 日本語で表示する。
  • 測定時刻を入力できる。
  • 入力したデータの編集、削除ができる。
  • 入力内容を印刷できる。

このような機能を付けていけばより便利になりそうです。

パン太郎

いかがでしたでしょうか?

特に費用をかけることも無く、パソコンさえあれば誰でも簡単にWEBアプリ開発が出来る時代になりました。
いままでの時代と決定的に違うのは、

  • プログラミングスキルがほぼ必要ない。
  • AIに質問することで、自分で問題の解決が出来る。

この2点は大きい進歩だと思います。
ただ、パソコンが全く分からない(基本操作や、フォルダやファイルの概念が分からない等)と、難しい点があるとは思います。普段からある程度、パソコンに興味をもっておく必要はありそうです。

パン太郎

今回は、VSCodeがインストールされている前提で話を進めました。
※VSCodeとは何?

インストール方法はネット検索すると出てくるので参考にしてください。
いつかこのサイトでも、インストール方法を解説したいと思っています。

おわり。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次