Windows上でFlaskの開発環境を構築する方法・データベース接続まで解説

Python

Windows上でFlaskの開発環境を構築し、さらにデータベースに接続する方法まで解説します。

Flaskを使ってWebアプリを開発してみたいときに、参考にしてください。

Windows上でFlaskの開発環境を構築する方法

まずは環境の構築方法を説明します。なお、下記についてはあらかじめインストールしたという前提でお伝えしていきます。

  • Python 3 (すでにインストールされていることを確認してください)
  • テキストエディター(VSCodeなど)

仮想環境の作成

プロジェクトを作成したい場所に、「test」という名前のフォルダを作ります。この場所で、Windows Power Shellを起動します。

次のコマンドを実行して仮想環境を作成します。

仮想環境のアクティベーション

以下のコマンドを使用して、仮想環境をアクティベートします。

ライブラリのインストール

Flask ライブラリを仮想環境にインストールします。ひとつずつライブラリをインストールする場合は、次のコマンドを実行します。

既にrequirements.txtに必要なライブラリを記載してしている場合は下記のコマンドで、一気にライブラリをインストールできます。

requirements.txt は、Python プロジェクトで使用される外部ライブラリやパッケージの依存関係をリスト化したファイルです。

Flask アプリケーションの作成

app.py という名前の新しいファイルを作成し、次の Python コードを記述します。

【app.py】

アプリケーションの実行

以下のようにファイル名を指定してコマンドを実行します。

ブラウザで http://127.0.0.1:5000/ にアクセスし、アプリケーションが正しく実行されていることを確認します。

プログラムを停止するには、コマンドライン上でCtrl+Cを実行します。仮想環境を非アクティブにするには、deactivate コマンドを実行します。

おまけ:依存関係の管理

もしrequirements.txtがまだない場合、以下のコマンドを実行すると、インストールされているパッケージのリストを作成できます。

Windows上でFlaskのWebアプリ用のデータベースを作る方法

次にデータベース接続について説明します。

今回はXamppを使い、XamppにインストールされているphpMyAdminをデータベースとして接続する方法を解説します。

Xamppのインストール方法は、下記をご覧ください。

XamppのApacheとMySQLを起動

Xamppのコントロールパネスを開き、Apache と MySQL を起動します。

ブラウザで http://localhost/phpmyadmin/ にアクセスして、phpMyAdmin を開きます。

データベースとテーブルの作成

phpMyAdmin のダッシュボードで「新規」をクリックし、「testuser」という名前のデータベースを作成します。

「testuser」データベースを選択し、「テーブルを作成する」に名前として「user」を入力し、必要な列数(3)を選択します。

ユーザーテーブルを作成するための列(id, name, created_at)を下記のように定義します。idはAIにチェックをいれます。created_atは、デフォルト値を指定しておきます。これにより、作成日時が自動で入るようになります。

.envの設定

先ほど作成したFlaskアプリの中に、.env ファイルを作成します。以下の内容でデータベース接続情報を設定します。

ライブラリのインストール

requirements.txtファイルを作成し、下記のように記入します。

下記コマンドで、ライブラリをインストールします。

データベース接続情報を追加

Flask アプリケーション (app.py) にデータベース接続を追加します。

表示部分を作成

プロジェクトの中にtemplates/index.htmlを作り、次のようにボタンを作成しておきます。

プロジェクト全体のファイル構造は下記のようになります。

アプリケーションの実行

以下のようにファイル名を指定してコマンドを実行します。

ブラウザで http://127.0.0.1:5000/ にアクセスします。ボタンをクリックします。

データベースにユーザーが保存されていることを確認してください。

うまくいかない場合

ブラウザ上や、コマンドライン上のエラーメッセージを確認してください。たとえば画面に

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1049, “Unknown database ‘testuserr'”)

と出た場合は、.envのデータベースが間違えています。修正後、一度 Ctrl+Cボタンでプログラムを停止したのち、再度 python app.py コマンドでプログラムを実行してください。

さいごに

以上、Windows上でFlaskの開発環境を構築し、さらにデータベースに接続する方法を解説しました。

本番上のデプロイ方法はいくつかありますが、わたしは、エックスサーバーとStreamlitを試しました。

エックスサーバーへのデプロイは別記事にまとめています。ご興味あれば、併せてご覧ください。

Python

【Laravelの教科書・プレゼント】

Junko
Laravelの使い方を覚えたい!と思ったら、ぜひ、役立ててほしいです。 基礎編は無料でプレゼント中です♪
ひつじプログラマ
会員制サイトをいちから作っていくよ。ボタンをクリックして詳細を見てね。
Laravelの教科書の詳細を見る

最新のLaravel11版テキストに加え、Laravel8版・Laravel9版・Laravel10版もご用意しています♪

【無料プレゼント】

「LaravelでWebアプリをいちから作れるようになりたい!」

そんなLaravel初心者のあなたへ【Laravelの教科書】基礎編プレゼント中! 会員制フォーラムサイトを学習しながら作れます。

詳細はこちらをクリック

最新のLaravel11版テキストに加え、Laravel8版・Laravel9版・Laravel10版もご用意しています♪

【AWS関連・Webアプリ開発・生成AIのAPI活用のご相談承ってます】
お気軽にお声がけください。
御社にとって、最善の方法をご一緒に考えてまいります。
Zoomミーティング実施中。サンプルアプリご利用可能です。

お問合せフォーム

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。
Laravel10対応。Laravel11サポートガイドもご用意しています。詳しくは下記ボタンをクリック♪

書籍の詳細を見てみる

Laravelの本を書きました。


ひつじが目印♪
クリックするとamazonページへ。

最新版Laravel11用のサポートガイドご用意しています。

Laravelの使い方を分かりやすく解説した書籍を出版しました。書店やAmazon等のオンラインショップにて販売中です。

書籍の詳細を見てみる
Twitter始めました。
40代からプログラミング!
タイトルとURLをコピーしました