Django4 Webアプリ開発実装ハンドブック : Python/Bootstrapによる効率プログラミング : 処理の流れがその場でわかる
タイトル: Django4 Webアプリ開発実装ハンドブック : Python/Bootstrapによる効率プログラミング : 処理の流れがその場でわかる
著者: チーム・カルポ 著
出版社: 秀和システム
発行日: 2022.5
価格: 2800円

紹介
本書はWebアプリ開発用フレームワークDjango(ジャンゴ)でWebアプリを開発するための書籍です。ブログアプリと会員制写真投稿アプリの作成を通じで、Djangoの基礎から実践まで一人で学べる内容となっています。
PythonでWebアプリを開発する際に必須な機能を備えたDjangoを身に付けることで、データベースや通信に関する知識がなくても、高機能なサイトを作ることが可能です。
目次
第1章 Djangoの使い方を知っておこう
1.1 Djangoは何のためのものなのか知っておこう
Webアプリってそもそも何?
アプリケーションサーバーにはどんなソフトウェアが搭載される?
ところでDjangoの中身って何?
1.2 Djangoの使い方を知っておこう
MTVのモデル、テンプレート、ビュー
ルーティング
ビュー
モデル
テンプレート
第2章 Djangoで開発するための準備をしよう
2.1 Djangoで開発するための準備をしよう
Anacondaとは?
Anacondaをインストールしよう
Anaconda Navigatorを起動して仮想環境を作ろう
2.2 開発ツールSpyderをインストールしよう
Spyderを仮想環境にインストールする
2.3 「Django」をインストールしよう
「CONDA-FORGE」がチャネルに登録されているとSpyderのインストール画面が表示されない場合がある
2.4 Pythonプログラミングのポイント
「シーケンス」というデータ
要素の値を変更できないタプル
キーと値のペアでデータを管理する辞書(dict)
関数
処理結果を返す関数
クラス
Djangoのバージョンの確認方法
第3章 プロジェクトを作成してWebアプリのトップページを表示しよう
3.1 Djangoで開発するためのプロジェクトを作成する
Webアプリを開発するための「プロジェクト」を作成しよう(startprojectコマンド)
3.2 プロジェクトに作成されたファイルの中身を見てみよう
プロジェクトに作成されたモジュールを見ていこう
3.3 プロジェクトに作成されたmanage.pyで実行されるコマンド
manage.pyのコマンドの実行方法
makemigrationsコマンド
createsuperuserコマンド
3.4 Webサーバーを立ち上げてデフォルトページを表示してみよう
runserverコマンドを実行してWebサーバーを起動しよう
Djangoのデフォルトページを表示してみよう
ローカルマシンのIPアドレス「127.0.0.1」
ポート番号の「8000」
ドメインネームとIPアドレス
第4章 Bootstrapでスタイリッシュなトップページを作ろう
4.1 Webアプリのひな形を作成して初期設定を行う(モジュールの作成)
Webアプリの基盤を作成する(startappコマンド)
初期設定をしよう
4.2 トップページが表示されるようにしよう(ルーティングの設定)
Djangoがリクエストを処理する方法
プロジェクトのURLconfにURLパターンを追加しよう
アプリケーションの名前空間とインスタンスの名前空間
blogappのURLパターンを設定しよう(blogappのURLconf)
開発用サーバーを起動して状態を確認してみよう
4.3 ビューを作成してトップページを表示してみよう
トップページを表示する司令塔を作ろう(IndexViewクラス)
開発用サーバーを起動して状態を確認してみよう
トップページのテンプレートを作ろう(HTMLドキュメントの作成)
開発用サーバーを起動してトップページを表示してみよう
関数ベースビューを使う
4.4 Bootstrapでスタイリッシュなデザインのトップページを作ろう
Bootstrapはどうやって使うの?
Start Bootstrapから「Clean Blog」をダウンロードしよう
「Clean Blog」のindex.htmlを既存のindex.htmlと入れ替えよう
クラスベースビューと関数ベースビュー
「Clean Blog」のCSS、JavaScript、イメージをblogアプリに移植しよう
ページのタイトルやリンク先などを独自のものに設定しよう
トップページがどうなったか確認してみよう
第5章 データベースと連携しよう(モデルについて)
5.1 「モデル」を作成してデータベースを操作しよう
データベースの設定を確認しよう
モデルを作成しよう
マイグレーションを行う
5.2 ブログの記事をデータベースに登録しよう
Django管理サイトにモデルBlogPostを登録しよう(admin.pyの編集)
Django管理サイトを使用するユーザーを登録しよう
(createsuperuserコマンド)
Django管理サイトにログインしよう
Django管理サイトの画面はこうなっている!
(ログイン直後のDjango管理サイト)
ブログの投稿記事をデータベースに登録しよう(レコードの追加)
5.3 トップページにブログ記事を一覧表示できるようにしよう
トップページのビューをリスト表示対応に変更しよう(ListView)
querysetとget_queryset()メソッド
Contextについて
トップページのビューを関数ベースビューにする
トップページに投稿記事の一覧を表示しよう
トップページを表示してみよう
5.4 詳細ページのルーティングを設定してビューを作成しよう
詳細ページを表示する仕組みを知っておこう
詳細ページのURLパターンを作成しよう(blogappのURLconf)
詳細ページのビューを作成しよう
(DetailViewを継承したBlogDetailクラス)
レコードの主キー
関数ベースビューを用いる場合の詳細ページの
URLパターンとビューの作成
5.5 1件の投稿記事を表示するページを作ろう (詳細ページの作成)
詳細ページのテンプレートを用意しよう(post.html)
詳細ページに投稿記事が表示されるようにしよう
詳細ページへのリンクを設定しよう
トップページの投稿記事一覧から詳細ページを表示してみよう
5.6 テンプレートで共通利用する基底テンプレートを作成しよう (ベーステンプレート)
ベーステンプレートって何?
ベーステンプレートを作成しよう(base.html)
トップページにベーステンプレートを適用しよう
詳細ページにベーステンプレートを適用しよう
ベーステンプレート適用後のトップページと詳細ページを見てみよう
5.7 ページネーション機能を付けよう
1ページに表示する投稿記事の件数を設定しよう(IndexView)
ページネーション機能を組み込んだテンプレートを作成しよう
トップページにページネーションを組み込もう
(テンプレートタグinclude)
トップページのページネーションを確認してみよう
関数ベースビューによる実装方法
5.8 カテゴリごとの一覧表示ページを作ろう
カテゴリの一覧ページを作ろう(作業の①)
カテゴリの一覧ページのURLパターンを作ろう(作業の②)
カテゴリの一覧ページのビューを作ろう(作業の③)
ベーステンプレートにカテゴリ一覧のリンクを設定しよう(作業の④)
カテゴリごとの一覧ページを表示してみよう
関数ベースビューでカテゴリごとの一覧ページを作る方法
第6章 メール送信用のページを作ろう
6.1 問い合わせページを作ろう
問い合わせページのURLパターンを作ろう(blogapp/urls.pyの編集)
問い合わせページのビューを作ろう(ContactViewの作成)
フォームのフィールドを定義しよう(フォームモジュールの作成)
問い合わせページのテンプレートを作ろう
ContactViewがレンダリングするときに参照されるContextの内容
<form>のmethod属性はデータの送信方法を指定する
ベーステンプレートに問い合わせページのリンクを設定しよう
メール送信のテストをしよう
関数ベースビューを用いる場合
6.2 送信メールサーバーを登録してメール送信を実現しよう
メール送信の流れ
Gmailのアカウントを作成して2段階認証を登録しよう
環境変数にメールサーバーの接続情報を登録しよう
フォームを送信してメールを受け取ってみよう
6.3 blogアプリの全体像
blogアプリのページ
第7章 「会員制フォトギャラリー」アプリの開発
7.1 photoアプリを作ろう
プロジェクトを作成し、「photo」アプリを構築しよう
photoアプリをプロジェクトに登録しよう
(環境変数INSTALLED_APPS)
使用言語とタイムゾーンを日本仕様に設定する
ベーステンプレートとトップページのテンプレートの外観
Bootstrapのサンプルをダウンロードしよう
各ページで共通利用するテンプレート、トップページのテンプレートを作ろう
ベーステンプレートを編集しよう(base.html)
タイトル用のテンプレートを編集しよう(photos_title.html)
投稿一覧テンプレートを編集しよう(photos_list.html)
トップページのテンプレートを編集しよう(index.html)
プロジェクトとアプリのURLconfを編集しよう
トップページのビューを作ろう(IndexViewの作成)
開発用サーバーを起動してトップページにアクセスしてみよう
7.2 認証用のaccountsアプリを作ろう
「accounts」アプリを構築して初期設定しよう
カスタムUserモデルを作ろう
マイグレーションを行う(makemigrationsとmigrate)
CustomUserモデルをDjango管理サイトに登録しよう
(accounts/admin.py)
accountsアプリの管理サイトのスーパーユーザーを登録しよう
サインアップの仕組みを作ろう
ログインページを作成しよう
is_authenticatedプロパティでログイン状態を確認する仕組み
パスワードリセットの仕組みを作ろう
7.3 データベースを用意しよう
Pillowを仮想環境にインストールしよう
データベースを操作する「モデル」を作成しよう
画像の保存先を設定しよう(MEDIA_URL)
マイグレーションしよう(makemigrationsとmigrate)
Django管理サイトにPhotoPostとCategoryを登録しよう(admin.pyの編集)
CategorysテーブルとPhoto postsテーブルにデータを
追加しよう
shellコマンドを使ってイメージのURLとパスを確認する
レコードを削除したときのイメージの取り扱い
django-cleanup
7.4 写真投稿ページを作ろう
フォームクラスを作成しよう(forms.PhotoPostFormクラス)
写真投稿ページのビューを作成してルーティングを設定しよう
写真投稿ページと投稿完了ページのテンプレートを作成しよう
投稿完了ページのビューを作成してルーティングを設定しよう
ナビゲーションボタンに写真投稿ページのリンクを追加しよう
写真投稿ページから投稿してみよう
7.5 トップページに投稿写真を一覧表示しよう
トップページのビューで投稿写真の全データを取得しよう(IndexView)
トップページのテンプレートの編集
ページネーションのテンプレートを作成してトップページに組み込もう
「media」フォルダーのURLパターンを設定しよう
ファビコンの設定
7.6 カテゴリページを用意しよう
投稿写真のボタンにカテゴリ一覧ページのリンクを埋め込む
カテゴリ一覧ページのURLパターンを作成しよう
カテゴリ一覧のビューCategoryViewを作成しよう
7.7 ユーザーの投稿一覧ページを用意しよう
投稿写真のユーザー名に、ユーザーの投稿一覧ページの
リンクを埋め込む
ユーザーの投稿一覧ページのURLパターンを作成しよう
ユーザーの投稿一覧のビューUserViewを作成しよう
7.8 投稿写真の詳細ページを用意しよう
投稿写真の一覧に表示される[View]ボタンに詳細ページのリンクを埋め込む
詳細ページのURLパターンを作成しよう
詳細ページのビューDetailViewを作成しよう
詳細ページのテンプレートを作成しよう
7.9 ログイン中のユーザーのための「マイページ」を用意しよう
ナビゲーションメニューにマイページのリンクを埋め込む
マイページのURLパターンを作成しよう
マイページのビューMypageViewを作成しよう
マイページのテンプレートを作成しよう
7.10 投稿写真の削除機能を用意しよう
ログイン中のユーザーの詳細ページに[削除する]ボタンを表示しよう
削除ページのURLパターンを作成しよう
削除ページのビューPhotoDeleteViewを作成しよう
削除ページのテンプレートを作成しよう
7.11 完成した会員制フォトギャラリーアプリ
会員制フォトギャラリーアプリの基本画面
第8章 Webアプリを公開しよう
8.1 Gitのインストール
GitHubのアカウントを作成する
リポジトリの作成
Gitのインストール
8.2 会員制フォトギャラリーアプリをGitHubにアップロードしよう
Gitの初期設定を行う
GitHubにアップロードする
8.3 PythonAnywhereのアカウントを取得してプロジェクトを作成しよう
PythonAnywhereのアカウントを取得しよう
Djangoを利用するプロジェクトを作成しよう
8.4 PythonAnywhereで「会員制フォトギャラリーアプリ」を公開しよう
GitHubの個人アクセストークンを作成する
PythonAnywhereのプロジェクトにGitHubの
リポジトリのクローンを作成
「settings.py」の内容を修正してWebで公開しよう
PythonAnywhereにおける静的ファイルの設定
Django 4.0リリースノート