動かして学ぶ!Python Django開発入門 第3版(大高 隆)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 動かして学ぶ!Python Django開発入門 第3版

動かして学ぶ!Python Django開発入門 第3版


形式:
書籍
発売日:
ISBN:
9784798186214
定価:
3,960(本体3,600円+税10%)
仕様:
A5・456ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
NEXT ONE
紙の書籍

待望の第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 1 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 まとめ 

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年10月03日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 092,093,094,095,182,196,240,241,242,244,245,247,24
図4.3〜図4.10,図7.6,図8.6,図10.4~10.11,図11.15,図11.20の各図のフッター
Private Dairy 2024
Private Diary 2024
2024.10.03
1刷 176
リスト7.3 下から9行目
Private Dairy 2024
Private Diary 2024
2024.10.03
1刷 346
上から1行目から9行目
 EC2インスタンス作成後にインスタンスを再起動するとIPアドレスが変わってしまいます。これでは再起動のたびにDNS設定を変えなければならず手間なので、Elastic IP(固定IPアドレス)を取得してインスタンスに関連付けることにします。  Elastic IPは起動中のインスタンスにつき1つ関連付けされている分には無料で利用できます。それ以外の場合は料金が発生してしまうので注意してください。よくあるのはElastic IPを関連付けていたインスタンスを停止していてElastic IPの課金が発生しているパターンです。このような場合で課金されたくなければ Elastic IPは解放してください。
 EC2インスタンスの起動により自動で割り当てられるパブリックIPアドレスは、インスタンスを起動するたびに変わる仕組みになっています。これに伴いDNS設定も変えなければならず手間なので、Elastic IP(固定IPアドレス)を取得してインスタンスに関連付けることにします。  なおインスタンスが停止していると、EC2の無料期間中でもElastic IPに課金が発生します。ご注意ください。
2024.07.30