Flask Web アプリ開発実装ハンドブック

フラスクウェブアプリカイハツジッソウハンドブック

Flask Web アプリ開発実装ハンドブックの表紙
プログラミング
著者:
チーム・カルポ(チームカルポ)
出版社:
秀和システム
出版日:
2023年05月20日
ISBN:
9784798067964
在庫:
在庫あり
0
初級者向け
プログラミングPythonFlask認証データベースWeb 開発ユーザー管理フォーム処理メール送信応用開発

なぜ注目されているか

総合1651位

書籍紹介

Python 用の Web アプリ用のマイクロフレームワーク「Flask」による Web アプリ開発を学習するための解説書です。最小限の機能に絞ることで処理がわかりやすくコードの学習に最適です。さらに慣れてきたときには拡張ライブラリを使用することで自由にカスタマイズすることもできます。本書は基本編と応用編の 2 部構成で段階的に開発していくことができるようにしました。

第 1 章 Flask で開発するための準備
第 2 章 Bootstarap を利用してトップページを作る

第 3 章 データベースを用意する

第 4 章 データベースと連携する

第 5 章 フォームからメールで送信する仕組みを作る

第 6 章 ユーザー登録の仕組みを作る

第 7 章 ユーザー認証の仕組みを実装する

第 8 章 ログイン後に表示する画像投稿アプリの開発

第 1 章 Flask で開発するための準備

第 2 章 Bootstarap を利用してトップページを作る

第 3 章 データベースを用意する

第 4 章 データベースと連携する

第 5 章 フォームからメールで送信する仕組みを作る

第 6 章 ユーザー登録の仕組みを作る

第 7 章 ユーザー認証の仕組みを実装する

第 8 章 ログイン後に表示する画像投稿アプリの開発

技書の森解説

『Flask Web アプリ開発実装ハンドブック』 (チーム・カルポ 著、秀和システム、2023 年 5 月刊) は、Python 用の Web アプリケーションフレームワーク Flask を使って、開発環境の準備からデータベース連携、メール送信、ユーザー登録とログイン認証、画像投稿アプリの完成までを、手を動かしながら一通り作り上げる実装書です。書誌上の副題は「マイクロフレームワークによるサーバーサイドプログラミング」で、サーバー側の処理を図解しながら進める構成をうたっています。版元はサンプルプログラムのダウンロードサービス付きとしており、本文どおりに打ち込むだけでなく完成コードと突き合わせながら学べます。

全 8 章の構成、ブログアプリから会員制の画像投稿アプリへ

構成は全 8 章で、第 1 章「Flask で開発するための準備」が Visual Studio Code と Python のインストール、仮想環境の作成、Flask の導入に加えて、タプル / 辞書 / 関数 / クラスといった Python プログラミングのポイントの復習を含みます。第 2 章「Bootstrap を利用してトップページを作る」から第 5 章「フォームからメールで送信する仕組みを作る」までは 1 本のブログアプリを育てる流れで、Start Bootstrap のテンプレート「Clean Blog」を移植してルーティングとビューを定義し、Flask-SQLAlchemy と Flask-Migrate でデータベースを用意してモデルを定義し、Blueprint で管理用の crud アプリを分割し、投稿一覧のページネーションと詳細ページ、問い合わせフォームからのメール送信までを実装します。第 6 章「ユーザー登録の仕組みを作る」以降は「会員制 Post picture」アプリに題材を替え、User モデルと Werkzeug を使ったユーザー情報の管理、サインアップ、第 7 章「ユーザー認証の仕組みを実装する」で LoginManager と Blueprint「authapp」によるログインとログアウト、第 8 章「ログイン後に表示する画像投稿アプリの開発」で画像の投稿 / 一覧 / 詳細 / ユーザー別一覧 / マイページからの削除までを組み上げます。

マイクロフレームワークとしての Flask と、Django との使い分け

Flask が「マイクロ」と呼ばれるのは、フレームワーク本体が担うのをルーティング、リクエストとレスポンスの処理、テンプレート描画といった中核に絞り、データベースアクセスや認証、フォーム処理、マイグレーションは拡張ライブラリを選んで組み合わせる設計思想を取るためです。管理画面や ORM、認証機構を最初から同梱する Django と比べると、Flask は部品を 1 つ足すごとに「その部品が何を担っているのか」が見えるため、Web アプリケーションの内部構造を理解しながら学ぶ教材として向いています。本書がデータベースの用意、モデル定義、マイグレーション、認証と、機能を 1 つずつ足していく章立てになっているのは、この設計思想と噛み合った進め方です。反面、部品選定や構成の判断は開発者側に委ねられるため、Blueprint によるアプリの分割のように、規模が大きくなったときの整理の仕方を早い段階で目にできる点は、Flask の入門書として実務寄りの利点と言えます。

前提知識は Python の基本文法、目次に無い範囲も確認して選ぶ

前提として必要なのは Python の基本文法と、HTML と CSS の初歩です。第 1 章に Python プログラミングのポイントを復習する節がありますが、これは復習向けの分量であり、Python を初めて学ぶ人は先に入門書を 1 冊終えてから取り組むのが無理のない順序です。その選び方は Python 本の選び方 で整理しています。一方で、目次を通して見ると本書が扱うのは開発環境上での実装であり、本番サーバーへのデプロイや運用、外部に公開する API の設計、Flask の内部実装の解説は範囲に含まれません。また、2023 年刊のため、Flask や各拡張ライブラリのバージョンは刊行時点の環境が前提になります。これらを深く知りたい人は、本書で一連の実装を完成させた後に公式ドキュメントや別の専門書へ進む形になります。

元が取れるのは、Python の基礎を終えて「ログインできて、データベースに読み書きできて、メールも送れる Web アプリ」を自分の手で 1 本完成させたい人です。ブログアプリと会員制の画像投稿アプリという 2 つの完成形を、環境構築から一貫した手順で持てることが本書の具体的なペイオフで、Web アプリケーションの基本的な構成要素がどうつながっているかを、Flask の小さな部品ごとに確かめながら身につけたい人にとって、最初の 1 冊として堅実な選択です。

この本に興味がある方におすすめ

関連する本

チーム・カルポ の他の書籍

関連記事

関連用語

共有: