
python| まとめ | 現役エンジニア&プログラミングスクール講師「python」のまとめページです。pythonに関して抑えておきたい知識や文法やにについて記事をまとめています。まとめページの下部には「おすすめの学習書籍」「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中...
目次
Flask 開発準備

Flask(Part.1)| 【概要と環境構築 】WebフレームワークのFlaskを扱う記事です。ここでは、Flaskアプリケーションの概要と、Flaskアプリケーションを作成するための環境構築方法を解説しています。...
Flask MVTの概要とアプリケーションの起動

Flask(Part.2)| 【MVTの概要とアプリケーションの起動方法 】FlaskはDjangoとは異なり、Webアプリケーションの構造を整理するためのアーキテクチャパターン、MVT(Model-View-Template)を厳格に定めていませんが、FlaskでもMVTの構造に近い形で開発を行うことがあるため、この記事でも概要を扱っています。その後、最小のアプリケーションを作成して起動する方法を扱っています。...
Flaskの基本

Flask(Part.3)| 【テンプレート(Jinja2)の利用】Flaskで利用できる標準のテンプレートエンジンJinja2について扱っています。Jinja2はFlaskをインストールするだけで利用ができ、HTMLやXMLなどいろいろなマークアップ文書を生成することや、テンプレート内に値を埋め込むことができます。...
-320x180.jpg)
Flask(Part.4)| 【ルーティングの基本】Flaskのルーティングついて扱っています。Flaskのルーティングは、特定のURLに対して処理を紐付ける仕組みです。ルーティングを行う方法には、@app.route() デコレーターを利用する方法
やBlueprintを利用する方法があります。...
-320x180.jpg)
Flask(Part.5)| 【ルーティングの利用(1)実装】Part.3までに作成したminiappアプリに「商品管理ページ」「商品追加ページ」を作成して、それぞれのページの遷移(ルーティング)を設定します。このPartではデータベースを利用せず、テンプレートの準備とルーティングについて実装し、その内容を確認します。...
-320x180.jpg)
Flask(Part.6)| 【ルーティングの利用(2)解説】Part.5までに作成した「商品管理ページ」「商品追加ページ」「商品一覧ページ」とそのルーティング(ページ遷移、リダイレクト)について解説しています。その他、フォームの利用方法、リクエストパラメータの利用方法について解説しています。...
Flask-WTFを利用したバリエーション

Flask(Part.7)| 【Flask-WTFを利用したバリデーション】Flask-WTFライブラリを利用し、バリデーション機能の利用を実装します。バリデーションとは、ユーザーが送信するデータが期待する形式や条件を満たしているかを確認する処理です。Flaskにはいくつかのバリデーション方法がありますが、Flask-WTF(WTForms)を使用する方法が一般的です。他にも、request.form を手動で処理する方法や、marshmallow などのライブラリを使う方法もあります。...
Flaskでデータベースを利用する
-320x180.jpg)
Flask(Part.8)| 【Flaskでデータベースを利用する方法(1) 実装】Flask-SQLAlchemyを導入しSQLiteデータベースの利用を行うFlaskアプリケーションのプログラム作成を行います。Flask-SQLAlchemyやSQLiteの概要とその利用方法について解説しています。...
-320x180.jpg)
Flask(Part.9)| 【Flaskでデータベースを利用する方法(2)解説】Flask-SQLAlchemyを導入しSQLiteデータベースの利用を行うFlaskアプリケーションのプログラム解説を行っています。Flask-SQLAlchemyやSQLiteの概要とその利用方法について再解説もしています。...

Flask(Part.10)| 【アプリケーション名のリファクタリング】Flaskアプリケーションのリファクタリング作業について扱っています。リファクタリングの基本原則は、小さなステップで行うことです。一度に大きく変更するとバグが発生しやすくなるため、細かく分けてリファクタリングを行います。...
-320x180.jpg)
Flask(Part.11)| 【ふたつのテーブルの利用(1)実装と実行】リレーショナルデータベースを利用するFlaskアプリケーションでふたつのテーブルを利用するプログラムを実装します。ふたつのテーブルを利用する場合に注意すべきこと必要な新規のファイルを作成しています。...
-320x180.jpg)
Flask(Part.12)| 【ふたつのテーブルの利用(2)ロジック部分の解説】Part.11で入力したロジック部分のプログラムを解説しています。「models.py」「forms.py」「app.py」ファイルの追加編集部分を各行ごとに確認しています。...
-320x180.jpg)
Flask(Part.13)| 【ふたつのテーブルの利用(3)テンプレート部分の解説】Part.11で入力したテンプレート部分のプログラムを解説しています。新規では「categorys.html」「category_form.html」を作成し、「add_product.html」「products.html」「manage_product.html」では、追加と修正を行いました。...

Flask(Part.14)| 【商品データの編集と削除機能の実装】これまで実装していなかった商品データの編集機能と削除機能を追加しています。カテゴリーデータの編集機能・削除機能と同様のルートを作成しています。...
Flaskアプリケーションの見た目の統一化
-320x180.jpg)
Flask(Part.15)| 【見た目の統一化(1)】前回までで作成したアプリケーションでは、ページごとのボタンの配置に統一感がなく、ユーザーの操作に混乱が生じる可能性がありました。具体的には商品一覧ページでは「商品を追加する」ボタンが左にあり、「商品管理ページ」ボタンが右にあるのに対して、カテゴリー一覧ページでは「カテゴリーを追加」ボタンが右にあり、「商品管理ページ」ボタンが左にありました。また、「商品を追加する」と「カテゴリーを追加」のように、文言も不均一でしたし、各ページの「〇〇ページ(例:商品一覧ページ)」といったタイトルが、ブラウザのタブに表示されるタイトルや、すぐ下に表示される「商品一覧」と重複していることから不必要な表示であることも考える必要があります。この記事では、それらに一定のルールを設けて、見た目を統一していきます。...
-320x180.jpg)
Flask(Part.16)| 【見た目の統一化(2)】Flaskでは、Jinja2 というテンプレートエンジンを使用してHTMLを動的に生成します。このとき、複数のページで共通する部分(ヘッダー、フッター、ナビゲーションバーなど)をまとめた、「親テンプレート」と呼ばれる、ひとつのテンプレートを作成し、「子テンプレート」と呼ばれる個別ページのテンプレートに「継承」して使うことができます。この仕組みによって、コードの重複を減らし、メンテナンスがしやすくなります。...
Flaskアプリケーションで画像を扱う方法
-320x180.jpg)
Flask(Part.17)| 【画像のアップロードと利用(概要編)】ここでは、Flaskアプリケーションでの画像のアップロード方法とアップロードした画像の利用方法について概要を解説しています。...
-320x180.jpg)
Flask(Part.18)| 【画像のアップロードと利用(実装編)】Flaskアプリケーションで画像のアップロードと表示方法の実装を行っています。具体的には商品管理システムで商品追加時に商品名や価格と一緒に画像を選択送信し、アプリケーション側にアップロードします。その後、商品一覧のページで各商品ごとにアップロードしたファイルを表示させています。...
-320x180.jpg)
Flask(Part.19)| 【画像のアップロードと利用(解説編)】Flaskアプリケーションで画像のアップロードと表示方法を行ったプログラムの解説をしています。商品管理システムで商品追加時に商品名や価格と一緒に画像を選択送信し、アプリケーション側にアップロードするプログラムを一行一行確認しています。...
アプリケーション作成作業の区切りをつける

Flask(Part.20)| 【商品管理アプリケーションのコミット】Flaskアプリケーションで作成した商品管理のシステムをコミットします。今回はfeature-miniappブランチで作業をしてきたので、これをコミットした後、developブランチへマージします。マージ後はfeature-miniappブランチは削除します。...
複数アプリケーションの利用
-320x180.jpg)
Flask(Part.21予定)| 【複数アプリケーションの統合(1)】Flaskアプリケーションで複数のアプリケーションを統合する方法を扱っています。Blueprintを利用したFlaskアプリの登録や定義方法、テンプレートのURL修正方法などを扱っています。...
-320x180.jpg)
Flask(Part.22予定)| 【複数アプリケーションの統合(2)】Flaskアプリケーションで複数のアプリケーションを統合する方法を扱っています。Blueprintを利用したFlaskアプリの登録や定義方法、テンプレートのURL修正方法とプログラムに関する解説を行っています。...

Flask(Part.23)| 【テーブル管理アプリケーションのプログラミング】Flaskアプリケーションに追加のアプリケーションを作成しています。アプリケーションの基本については、商品管理アプリケーションで学習した内容とアプリケーションの統合で行った内容を基に行っています。...

Flask(Part.24)| 【テーブル管理アプリケーションのコミット】ここではテーブル管理アプリケーション作成作業と商品管理アプリケーションとのアプリケーション統合作業が完了したので、これをコミットし、その後、developブランチへマージします。マージ後はfeature-tablesappブランチを削除します。...
注文管理アプリケーションとセッションの利用
注文管理アプリケーションとセッションの利用(part.1)
-320x180.jpg)
Flask(Part.25)| 【注文管理アプリケーションのプログラミング(1)】Flaskアプリケーションに追加のアプリケーションを作成しています。ここでは、注文管理アプリケーションを作成します。まずは、注文管理アプリケーションに必要なディレクトリやファイルを作成し、統合作業を行います。その後、注文管理アプリケーションのプログラミングを進めます...
-320x180.jpg)
Flask(Part.26)| 【注文管理アプリケーションのプログラミング(2)l(1)の解説】Flaskアプリケーションに注文管理アプリケーションを作成しました。ここでは作成したアプリケーションのプログラムの解説を行っています。...
-320x180.jpg)
Flask(Part.27)| 【注文管理アプリケーションのプログラミング(3)】Flaskアプリケーションに追加した注文処理のプログラムにセッションを利用した買い物カート機能の追加を行います。前回のまでの一品ごとの注文から、複数品目の注文を処理できるシステムへ変更します。...
-320x180.jpg)
Flask(Part.28)| 【注文管理アプリケーションのプログラミング(4)l(3)の解説】Flaskアプリケーションに追加した注文処理のプログラムにセッションを利用した買い物カート機能の追加を行います。前回のまでの一品ごとの注文から、複数品目の注文を処理できるシステムへ変更します。...
-320x180.jpg)
Flask(Part.29)| 【注文管理アプリケーションのプログラミング(5)】前回の記事では注文処理のプログラムにセッションを利用した買い物カート機能の追加を行いました。ここでは、注文フォームへのキャンセル機能の追加と、カートでの注文個数の変更機能、注文の削除機能を実装しアプリケーションの利便性をあげます。...
-320x180.jpg)
Flask(Part.30)| 【注文管理アプリケーションのプログラミング(6)l(5)の解説】前回の記事で追加した、注文フォームでのキャンセル機能と、カートの注文個数の変更機能、注文の削除機能について解説を行っています。...
データベースのバックアップとデータの復元

Flask(Part.31)| 【.sqlファイルのエクスポート】ここでは、これまで入力したデータをバックアップする方法について扱います。この記事では、これまでも、テストのために何度もデータベースを削除してきました。このように、実際の動きを確認する際には、テストドライバを組み込むだけでなく、実データでの確認が必要になることがあります。
Flaskを使った開発では、テストや実際の動作確認のためにデータベースを何度もリセットすることがあるため、バックアップの方法を知っておくことは非常に重要です。
この記事では、データをバックアップするために.sqlファイルとしてエクスポートする方法を確認します。...

Flask(Part.32)| 【.sqlファイルを利用したデータの復元】ここでは、commonディレクトリ内のdb.pyファイルにデータ復元用のプログラムを準備し、Flaskアプリケーション起動時にバックアップファイルを使用してデータの復元を行う仕組みを構築します。
データの復元方法としては、前回エクスポートした「dump.sql」ファイルを利用します。
この記事では「dump.sql」ファイルを「FlaskProj」直下に配置し、データベースが作成されたときに、このファイルのを利用して、必要なテーブルやデータの格納を自動で行わせます。...
注文管理アプリケーションとセッションの利用(part.2)

Flask(Part.33)| 【注文管理アプリケーションのプログラミング(7)】ここでは、注文処理機能に会計ボタンを追加します。機能としては、会計ボタンをクリックすると、全てのメニューを選択できなくなり、追加の注文を行えなくします。再度、ボタンをクリックすると、注文を再開できるようにします。
この機能を追加するにあたり、ordersapp と tablesapp の models.pyファイルに変更を行う必要があります。Flaskアプリケーションを起動する場合は、古いデータベースを削除し、前回の記事で作成したデータの復元処理をコメントアウトして実行します。...

Flask(Part.34)| 【注文管理アプリケーションのプログラミング(8)l(7)の解説】前回の記事では、注文処理機能に会計ボタンを追加しました。機能としては、会計ボタンをクリックすると、全てのメニューを選択できなくなり、追加の注文を行えなくなるものでした。また、再度、ボタンをクリックすると、注文を再開できるように構築しました。ここでは、修正した内容について確認します。...

Flask(Part.35)| 【注文管理アプリケーションのコミット】ここでは注文管理アプリケーションの作成と、必要なモデルの修正作業、アプリケーション統合作業が完了したので、これをコミットし、その後、developブランチへマージします。マージ後はfeature-ordersappブランチを削除します。...
商品管理アプリケーションの修正
-320x180.jpg)
Flask(Part.36)| 【商品管理アプリケーションの修正(】ここでは、これまで、商品管理アプリケーションで不便と感じていた部分について修正を行います。具体的には次の通りです。
商品一覧の編集ボタンをクリックしたときに、表示される編集画面で、編集前の商品名、価格、カテゴリーを初期値でセットさせます。
(Git では release-products-001 ブランチで修正)
商品編集で画像をアップロードする以外に、既にアップロード済みの画像からも画像を選択できるようにします。
(Git では release-products-002 ブランチで修正)
商品に「販売中」「完売」「在庫切れ」「販売中止」ステータスを作成して「完売」「在庫切れ」は選択不可とし、「販売中止」は表示しないようにします。
(Git では release-products-003 ブランチで修正)...
-320x180.jpg)
Flask(Part.37)| 【商品管理アプリケーションの修正(2)】ここでは、これまで、商品管理アプリケーションで不便と感じていた部分について修正を行います。具体的には次の通りです。
商品一覧の編集ボタンをクリックしたときに、表示される編集画面で、編集前の商品名、価格、カテゴリーを初期値でセットさせます。
(Git では release-products-001 ブランチで修正)
商品編集で画像をアップロードする以外に、既にアップロード済みの画像からも画像を選択できるようにします。
(Git では release-products-002 ブランチで修正)
商品に「販売中」「完売」「在庫切れ」「販売中止」ステータスを作成して「完売」「在庫切れ」は選択不可とし、「販売中止」は表示しないようにします。
(Git では release-products-003 ブランチで修正)...
-320x180.jpg)
Flask(Part.38)| 【商品管理アプリケーションの修正(3)】ここでは、これまで、商品管理アプリケーションで不便と感じていた部分について修正を行います。具体的には次の通りです。
商品一覧の編集ボタンをクリックしたときに、表示される編集画面で、編集前の商品名、価格、カテゴリーを初期値でセットさせます。
(Git では release-products-001 ブランチで修正)
商品編集で画像をアップロードする以外に、既にアップロード済みの画像からも画像を選択できるようにします。
(Git では release-products-002 ブランチで修正)
商品に「販売中」「完売」「在庫切れ」「販売中止」ステータスを作成して「完売」「在庫切れ」は選択不可とし、「販売中止」は表示しないようにします。
(Git では release-products-003 ブランチで修正)...
レジ管理アプリケーションの修正
-320x180.jpg)
Flask(Part.39)| 【レジ管理アプリケーションのプログラミング(1)】ここからは、商店スタッフが利用するためのレジ管理アプリケーションを作成していきます。具体的には、全てのテーブル状況を確認できたり、各テーブルの注文状況を確認でき、ユーザー側では行えない注文済みの商品の取り消しや、会計を完了させる機能を実装します。
ここでは、全てのテーブル状況を確認できるテンプレートと各テーブルの注文状況を確認できるテンプレートをルートをあわせて実装します。...
-320x180.jpg)
Flask(Part.40)| 【レジ管理アプリケーションのプログラミング(2)】ここからは、商店スタッフが利用するためのレジ管理アプリケーションを作成していきます。具体的には、全てのテーブル状況を確認できたり、各テーブルの注文状況を確認でき、ユーザー側では行えない注文済みの商品の取り消しや、会計を完了させる機能を実装します。
ここでは、注文された商品の個数を修正する機能とキャンセルする機能の実装とpendingステータスの伝票に対して会計完了ボタンを設置して会計の処理を完了させる機能の実装をおこないます。...
記事追加予定

「python」おすすめ書籍 ベスト3 | 現役エンジニア&プログラミングスクール講師「python」の学習でお勧めしたい書籍をご紹介しています。お勧めする理由としては、考え方、イメージなどを適切に捉えていること、「生のpython」に焦点をあてて解説をしている書籍であることなどが理由です。勿論、この他にも良い書籍はありますが、特に質の高かったものを選んで記事にしています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...
ブックマークのすすめ
「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...

【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...