著者:山田祥寛
¥700¥0

本書は、PythonフレームワークであるDjangoについて短時間で概要を掴みたい方のための書籍です。7つのPartに分けて、Djangoの基本からテンプレート開発、データベース連携、リクエスト/レスポンス処理、フォーム開発までを、サンプルコードと共に詳しく解説しています。サンプルは、サポートページ(https://wings.msn.to/index.php/-/A-03/WGS-PYF-001/)からダウンロード可能です。どんどん動かして試してみてください。

【対象読者】
本書は、Djangoについて短時間で概要を掴みたい方のための書籍です。
Djangoを学ぶための書籍ということで、その基盤となるPython言語については、基本的な理解があることを前提としています。本書でもできるだけ細かな解説を心掛けていますが、Pythonについてきちんと押さえておきたいという方は、「独習Python」(翔泳社)などの専門書も合わせて参照してください。

【目次】
はじめに
 対象読者
 サンプルプログラム

Part 1:イントロダクション
 1.1 Djangoの位置づけ
  1.1.1 フレームワークとは?
  1.1.2 Pythonのフレームワーク
  1.1.3 Djangoの特徴
 1.2 Django開発の準備
  1.2.1 アプリ実行/開発環境の準備
  1.2.2 プロジェクト/アプリの作成
  1.2.3 補足:Apache環境で実行する

Part 2:Djangoの基本
 2.1 ビューの基本
 2.2 テンプレートの基本
 2.3 モデルの基本
  2.3.1 O/Rマッパーとは?
  2.3.2 データベース利用の準備
  2.3.3 モデルクラスの作成
  2.3.4 マイグレーションの作成/実行
  2.3.5 テストデータの投入
  2.3.6 データアクセスの基本

Part 3:テンプレート開発
 3.1 条件分岐
  3.1.1 式の真偽に応じて出力を切り替える – if
  3.1.2 条件式で利用できる演算子
  3.1.3 真偽値に応じた文字列を出力する – yesno
  3.1.4 最初にTrueとなった値を返す – firstof
  3.1.5 補足:条件式ではフィルターも利用可能
 3.2 繰り返し処理
  3.2.1 ループ変数を参照する
  3.2.2 リストが空の場合の出力を決める – for…emptyタグ
  3.2.3 指定された回数だけ繰り返す – for+withタグ
  3.2.4 ループ内で変数が変化しているかを検出する – ifchanged
  3.2.5 リストを任意のキーでグループ化する – regroup
  3.2.6 値セットの内容を順に出力する – cycle
 3.3 HTMLエスケープ
  3.3.1 エスケープの無効化 – safeフィルター
  3.3.2 エスケープをまとめて無効化 – autoescapeタグ
  3.3.3 補足:明示的にエスケープする
  3.3.4 文字列からHTMLタグを除去する
  3.3.5 テンプレートの予約文字をエスケープする
  3.3.6 補足:その他のエスケープ関連フィルター
 3.4 テンプレートの継承
  3.4.1 親テンプレートの定義
  3.4.2 子テンプレートの準備
  3.4.3 テンプレートの部品化 – includeタグ
 3.5 リソースへのアクセス
  3.5.1 静的ファイルの基本
  3.5.2 本番環境でのリソース参照
 3.6 その他の機能
  3.6.1 文字列の操作
  3.6.2 リストへのアクセス – slice
  3.6.3 日付の整形 – date/time
  3.6.4 コメント構文

Part 4:モデル開発
 4.1 フィクスチャ
  4.1.1 データの準備
  4.1.2 フィクスチャの実行
  4.1.3 フィクスチャの自動生成
 4.2 データの取得
  4.2.1 指定の条件式でデータを取得する – filterメソッド
  4.2.2 条件式に合致したデータを除去する – excludeメソッド
  4.2.3 単一のオブジェクトを取得する – getメソッド
 4.3 フィールドルックアップ
  4.3.1 フィールドルックアップの基本
  4.3.2 大小比較
  4.3.3 部分一致
  4.3.4 正規表現比較
  4.3.5 NULL比較
  4.3.6 範囲比較
  4.3.7 候補比較
  4.3.8 日付比較(年/月/日)
 4.4 OR条件式の生成
  4.4.1 Qオブジェクトの基本
  4.4.2 より複雑な条件式
 4.5 SELECT命令のその他の句
  4.5.1 データの並び替え
  4.5.2 取得範囲の指定
  4.5.3 取得列の制約
  4.5.4 データのグループ化
  4.5.5 複数の結果セットを結合する
  4.5.6 補足:生のSQL命令を発行する
 4.6 リレーション
  4.6.1 リレーションの基本(1:n関係)
  4.6.2 m:n関係の定義

Part 5:ビュー開発
 5.1 ルーティング
  5.1.1 ルートパラメーター
  5.1.2 任意のルートパラメーター
  5.1.3 ルートパラメーターの制約
  5.1.4 可変長パラメーター
 5.2 リクエスト/レスポンス
  5.2.1 リクエスト情報の取得
  5.2.2 リクエストヘッダーを取得する
  5.2.3 ページをリダイレクトする
  5.2.4 404 Not Foundエラーの送出
  5.2.5 レスポンスヘッダーを生成する
  5.2.6 JSON形式の出力を生成する
  5.2.7 ファイルをクライアントにダウンロードさせる
 5.3 状態管理
  5.3.1 クッキー
  5.3.2 セッション
 5.4 その他の話題
  5.4.1 クラスベースのビュー
  5.4.2 ミドルウェア

Part 6:フォーム開発(基本編)
 6.1 フォームの基本
  6.1.1 フォームの作成
  6.1.2 主なXxxxxFieldクラス
  6.1.3 入力フォームの作成
  6.1.4 フォームからの入力を処理
  6.1.5 サンプルの動作確認
 6.2 検証機能の実装
  6.2.1 HTML検証機能の無効化
  6.2.2 入力フォームのカスタマイズ
  6.2.3 エラーメッセージのカスタマイズ
 6.3 検証ルールの自作
  6.3.1 フォーム固有の検証ルール
  6.3.2 複数のフォームで再利用する検証ルール
  6.3.3 項目を跨った検証ルール
 6.4 XxxxxFieldクラスの注意点
  6.4.1 ラジオボタンのリスト
  6.4.2 リストボックス(複数選択)
  6.4.3 チェックボックス
  6.4.4 ファイル入力ボックス

Part 7:フォーム開発(モデル連携)
 7.1 データの登録
  7.1.1 モデルに紐づいたフォーム
  7.1.2 検証ルールの定義(モデル)
  7.1.3 ModelFormによるビュー/テンプレートの定義
 7.2 既存データの更新
 7.3 既存データの削除

書籍情報
 著者プロフィール
 基本情報
 サポートサイト
 表紙の写真について

【著者プロフィール】
山田 祥寛(やまだ よしひろ)
Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGS プロジェクト」の代表でもある。主な著書に「改訂新版JavaScript本格入門」「Ruby on Rails 5アプリケーションプログラミング」(技術評論社)、「独習Java 新版」「独習C# 新版」「独習PHP 第3版」「独習Javaサーバサイド編 第2版」(翔泳社)、「これからはじめるVue.js実践入門」(SBクリエイティブ)、「はじめてのAndroidアプリ開発 第3版」(秀和システム)など。
https://wings.msn.to/

シリーズ一覧

  • 同シリーズの電子書籍はありませんでした。

 

  Kindle Unlimitedは、現在30日間無料体験キャンペーンを行っています!

この期間中は料金が980円→0円となるため、この記事で紹介している電子書籍は、すべてこのKindle Unlimited無料体験で読むことが可能です。

Kindle Unlimited 無料体験に登録する