- 発売日:2024/08/09
- 出版社:翔泳社
- ISBN:9784798186214
- 発売日:2024/08/09
- 出版社:翔泳社
- ISBN:9784798186214
待望の第3版
Django4.2(LTS)に対応
DjangoによるWebアプリ開発手法をわかりやすく解説
【本書の概要】
本書は、Python系の大人気フレームワーク「Django」によるWebアプリ開発手法を解説した書籍です。Webアプリの設計・作成、動的機能の作成(フォーム作成)、認証処理、データベースとの連携(日記機能)、クラウドとの連携(デプロイも含む)、セキュリティなどを一通り学ぶことができます。
【対象読者】
・Pythonの基礎知識のあるWebエンジニア
・駆け出しのフルスタックエンジニア
【第3版の変更点】
・Django4.2LTS(Long Term Support)に対応
・Python3.11に対応
・発展的な内容を加筆
【本書のこだわり(「はじめに」より抜粋)】
本書を執筆するにあたり特にこだわったのは、「なぜそのようにコーディングするのか」がわかるよう、コードにできる限り注釈を入れた点です。コード1行1行にまで初学者がつまずきそうな箇所には補足を入れています。また本書の特徴として、体系的にDjangoの基礎知識を解説(第3章)したあと、実際にWebアプリケーションを作ってインターネットに公開するまでの手順を解説(第4章~第13章)する中で周辺知識や実践的な内容にまで踏み込んで解説するスタイルを取っています。これにより全体的な基礎知識を学びつつ、実際に動くものを作ることでより実践的な知識も身につけられるよう構成されています。
【目次】
CH1 Webアプリを開発する前に
CH2 Webアプリを開発するには
CH3 Djangoの概説
CH4 Webアプリ開発前の準備
CH5 単一ページのDjangoアプリケーションを作成する
CH6 バージョン管理システムを構築する
CH7 トップページを作り込む
CH8 問い合わせページのフォーム画面を作る
CH9 フォーム機能を作り上げる─メール送信
CH10 Djangoに認証機能を追加する
CH11 会員用機能を作る─データベースとの連携
CH12 Djangoとクラウドを連携して本番運用を行う
CH13 独自ドメイン化とセキュリティ対策
【著者プロフィール】
大高隆(おおたか・りゅう)
京都大学大学院情報学研究科修了後に日本アイ・ビー・エム株式会社に入社。同社にて10年間エンジニアとして従事し退社。現在フリーのソフトウェアエンジニア。パッケージソフトやWebアプリなどの開発作業に日夜取り組んでいる。
01 設計作業は簡素にする
02 既存ライブラリを積極的に活用する
03 できる限り機械化する
04 モチベーションを維持する
05 まとめ
Chapter 2 Webアプリを開発するには
01 Web アプリとは
02 Web アプリの処理の流れ
03 Web アプリの構築手順
Webアプリは3つのフェーズで考える
開発前の準備(第4章)
開発作業(第5章〜第11章)
本番運用(第12章、第13章)
04 Web アプリの構築手段
設計図を手書きスケッチ
Python
Django
Visual Studio Code
Bootstrap
PostgreSQL
Git/GitHub
AWS(Amazon Web Services)
Nginx/Gunicorn
Let's Encryp
05 まとめ
Chapter 3 Djangoの概説
01 Djangoとは
02 Django の全体像
各コンポーネントの役割
ルーティング
ビュー
フォーム
モデル
テンプレート
03 Django プロジェクトの構造
プロジェクトとアプリケーション
Djangoプロジェクトとアプリケーションの雛形作成
Djangoプロジェクトの作成
Djangoアプリケーションの作成
Djangoプロジェクトのファイル構成
04 ルーティング
プロジェクト用ルーティング
アプリケーション用ルーティング
05 ビュー
ビューの定義方法
関数ベースビュー
クラスベースビュー
RedirectViewの使用例
オーバーライドする代表的なクラス変数とメソッド
06 フォーム
フォームの定義方法
フォームのフィールドクラス
バリデーション
validatorsを使った独自バリデーション
「clean_」メソッドを使った独自バリデーション
「clean」メソッドを使った独自バリデーション
ビューとフォームを連携する方法
07 モデル
モデルの定義方法
モデルのフィールドクラス
モデルクラス間のリレーション
O/Rマッパーを使ったデータベース操作
レコードの作成
レコードの取得
レコードの更新
レコードの削除
08 テンプレート
テンプレートの具体例
テンプレートでフォームコンポーネントを利用する方法
as_pオプションの使用例
as_tableオプションの使用例
as_ulオプションの使用例
as_divオプションの使用例
フォームフィールドを個別に取り出す方法
09 ユーティリティコマンド
django-adminコマンド
Djangoプロジェクトの作成
manage.pyコマンド
Djangoアプリケーションの自動作成
開発サーバー(runserver)の起動
マイグレーション
マイグレーションのロールバック
スーパーユーザーの作成
テストの実行
インタープリタの実行
10 まとめ
Chapter 4 Webアプリ開発前の準備
01 手書きスケッチで Web アプリをデザインする
サンプルアプリのURLと完成画面
02 VSCodeをインストールする
Windowsの場合
macOSの場合
拡張機能をインストールする
03 Pythonをインストールする
Windowsの場合
macOSの場合
04 Python 仮想環境を作成する
ターミナルの起動
Windowsの場合
macOSの場合
05 Djangoをインストールする
06 PostgreSQLをインストールし、データベース環境を構築する
PostgreSQLのインストール
データベースの作成
ドライバのインストール
07 まとめ
Chapter 5 単一ページのDjangoアプリケーションを作成する
01 サンプルアプリの開発環境構成
02 Django プロジェクトを作成する
03 Django アプリケーションを作成する
04 VSCode 上の Python インタープリタ設定を変更する
Windowsの場合
macOSの場合
05 言語とタイムゾーンを日本仕様に変更する
06 Django のデータベース設定をPostgreSQL に変更する
07 ロギングを設定する
08 ルーティングを設定する
プロジェクトのルーティング設定
アプリケーションのルーティング設定
09 ビューを作成する
10 テンプレートを作成する
11 開発サーバーを動かしてトップページを表示する
開発サーバー起動コマンドをVSCodeに登録する
開発サーバーを起動する
トップページにアクセスする
12 まとめ
Chapter 6 バージョン管理システムを構築する
01 Git を導入する
Gitのインストール
Windowsの場合
macOSの場合
Gitの設定
02 ローカルリポジトリを作成する
ローカルリポジトリを作成する
バージョン管理対象外ファイルを登録する
03 ローカルリポジトリにコミットする
04 リモートリポジトリを作成する
GitHubのアカウントを作成する
リモートリポジトリを作成する
05 まとめ
Chapter 7 トップページを作り込む
01 Bootstrap テンプレートをダウンロードする
ダウンロードしたファイルをDjangoプロジェクトにコピーする
02 静的ファイルが配置されている場所を設定する
03 各ページで共通利用するベーステンプレートを作る
1. 共通利用するベーステンプレートの作成
2. base.htmlの編集
3. CSSスタイルの追加
04 トップページを作り変える
05 トップページの表示を確認する
06 まとめ
Chapter 8 問い合わせページのフォーム画面を作る
01 ルーティングを追加する
02 ビューを追加する
03 フォームのフィールドを定義する
04 テンプレートを編集する
ナビゲーションバーに問い合わせページへのリンクを追加する
問い合わせページのテンプレートを作成する
05 独自スタイルを追加する
06 問い合わせページの表示を確認する
07 まとめ
Chapter 9 フォーム機能を作り上げる──メール送信
01 ビューにフォーム動作時の処理を記述する
02 メール送信処理を記述する
03 プロジェクト設定ファイルを分割する
04 メール処理で使うバックエンドを定義する
05 開発サーバー起動時の VSCode の設定を変更する
06 メール送信を確認する
07 画面にメッセージが表示されるようにする
08 まとめ
Chapter 10 Djangoに認証機能を追加する
01 認証用アプリケーションを作成する
02 カスタムユーザーモデルを定義する
03 カスタムユーザーモデルを管理サイトに登録する
04 マイグレーションを行う
マイグレーションファイル作成コマンド(makemigrations)の登録と実行
マイグレーションの実行コマンド(migrate)の登録と実行
05 django-allauthとdjango-bootstrap5をインストールする
django-allauthのインストール
django-bootstrap5のインストール
06 プロジェクト設定ファイルを編集する
07 ルーティングを追加する
08 認証ページへのリンクを貼る
09 django-allauth 用のマイグレーションを行う
10 django-allauth のテンプレートを改変する
django-allauthデフォルトテンプレートの場所
Windowsの場合
macOSの場合
サインアップ(エントリー)画面の修正
サインアップ(メール送信)画面の修正
サインアップ(確定)画面の修正
ログイン画面の修正
パスワードリセット(エントリー)画面の修正
パスワードリセット(メール送信)画面の修正
パスワードリセット(パスワード設定)画面の修正
パスワードリセット(確定)画面の修正
11 django-allauth のメール内容を改変する
サインアップ用メールテンプレート
パスワードリセット用メールテンプレート
12 まとめ
Chapter 11 会員用機能を作る──データベースとの連携
01 メディアファイルを扱えるようにする
Pillowのインストール
設定ファイルの修正
02 日記モデルを定義する
blankとnullオプションの設定値
03 日記モデルを管理サイトに登録する
04 日記一覧表示機能を作る
ルーティングの設定
ビューの作成
テンプレートの作成
05 日記一覧ページへの遷移を記述する
ログイン直後のリダイレクト先を設定する
ナビゲーションバーにリンクを追加する
06 マイグレーションを行う
07 管理サイトから日記データを登録する
スーパーユーザーを作成する
Windowsの場合
macOSの場合
日記データを作成する
日記一覧を確認する
08 日記一覧ページにページネーションを付ける
ビューの修正
テンプレートの修正
09 日記詳細表示機能を作る
ルーティングの作成
ビューの作成
テンプレートの作成と修正
DetailViewの処理の流れ
10 日記作成機能を作る
ルーティングの作成
ビューの作成
フォームの作成
テンプレートの作成と修正
11 日記編集機能を作る
ルーティングの作成
ビューの作成
テンプレートの作成と修正
12 日記削除機能を作る
ルーティングの作成
ビューの作成
テンプレートの作成と修正
13 日記詳細/日記編集/日記削除ページへのアクセスを制御する
ビューの修正
14 2 種類のテストを行う
Djangoのテストフロー
TestCaseクラスを使ったテストコード
テストモジュールの作成
テストコードの作成
アサーションメソッド
Selenium(LiveServerTestCaseクラス)を使ったテストコード
Seleniumのインストール
テストコードの作成
テストの実行方法
VSCodeにテストコマンドを登録して実行する
テストの実行結果
15 ステータスコード403/404/500 用ページを作る
16 データベースをバックアップするバッチを作る
独自コマンド用ディレクトリとファイルを作成する
バックアップ用のバッチを作る
バッチを動かす
17 まとめ
Chapter 12 Djangoとクラウドを連携して本番運用を行う
01 サンプルアプリの本番環境構成
02 AWS のアカウントを取得する
03 IAM ユーザーを作成する
04 EC2 インスタンスを作成する
05 Elastic IPを取得し、インスタンスへ関連付ける
06 EC2 インスタンスにSSH 接続する
Windowsの場合
macOSの場合
07 Amazon Linux 2023 の初期設定を行う
Amazon Linux 2023のパッケージを更新する
タイムゾーンを変更する
日本語ロケールに変更する
作業用ユーザーを作成し、ec2-userを削除する
08 Python 3をインストールする
09 pip 管理モジュールをインストールする
Windowsの場合
macOSの場合
10 PostgreSQLをインストールして初期設定をする
PostgreSQLのインストール
PostgreSQLの初期設定
11 本番環境用 Django プロジェクト設定ファイルを作成する
SECRET_KEY
DEBUG
ALLOWED_HOSTS
STATIC_ROOT/MEDIA_ROOT
Amazon SES関連設定
ロギング
12 本番環境にDjangoソースコードを配置する
リモートリポジトリにローカル変更内容を反映する
リモートリポジトリから本番環境にソースコードを取り込む
GitHubの個人アクセストークンを発行する
リモートリポジトリから本番環境にgit cloneする
13 ログ配置ディレクトリを作成する
14 Amazon SESを利用可能にする
アクセスキーを取得する
送信元アドレスをAmazon SESに登録する
送信制限を解除する
15 環境変数を設定する
16 静的ファイルを配信ディレクトリに配置する
17 マイグレーションを行う
18 Nginx のインストールと設定を行う
Nginxのインストール
Nginxの設定
19 NginxとGunicornを起動する
Nginxの起動
Nginxの停止と再起動
Gunicornの起動
Gunicornの停止
Webアプリの稼働確認
20 バッチの定期実行を設定する
21 まとめ
Chapter 13 独自ドメイン化とセキュリティ対策
01 はじめに
02 ドメインプロバイダーで DNS 設定を追加する
03 Django の「ALLOWED_HOSTS」設定を変更する
環境変数を変更する
Gunicornを再起動する
04 HTTPS 化を行う
HTTPS通信の流れ
必要なソフトウェアの導入
Nginx設定ファイルの編集
SSL証明書と秘密鍵の発行およびNginx設定ファイルの自動修正
ブラウザでのアクセス確認
SSL証明書の自動更新設定
05 Django 管理サイトの URLを変更する
06 Django のセキュリティチェックを行う
security.W004 /security.W021
security.W008
security.W012 /security.W016
07 まとめ
カスタマーレビュー
honto本の通販ストアのレビュー(0件)
- 最新順
- 評価高い順
- 評価低い順
最近チェックした商品
- 選択結果を選ぶと、ページが全面的に更新されます。
- 新しいウィンドウで開きます。