Django を使う¶ このセクションでは、Django を使う上でキーとなるすべて要素について紹介します。 Django のインストール方法 Python をインストールする Apache と mod_wsgi のインストール データベースを動かす Django コードをインストールする モデルとデータベース モデル クエリを作成する アグリゲーション (集計) 検索 マネージャ 素の SQL 文の実行 データベースのトランザクション 複数のデータベース テーブル空間(tablespace) データベースアクセスの最適化 データベースの計測 フィクスチャ (fixture) モデルリレーションシップ API の使用例 HTTP リクエストのハンドリング URL ディスパッチャ ビューを記述する ビューのデコレータ ファイルのアップロード Django のショートカット関数 ジェネリックビュー (汎用ビュー) ミドルウェア (Middleware) セッションの使いかた フォームを使う HTML フォーム フォームにおける Django の役割 Django におけるフォーム フォームを作る Django の Form クラスの詳細 フォームテンプレートを扱う その他のトピック テンプレート Django テンプレート言語 テンプレートエンジンのサポート クラスベースビュー クラスベースビュー入門 組み込みのクラスベースのジェネリックビュー(汎用ビュー) クラスベースのビューでフォームを扱う クラスベースのビューでミックスイン (mixin) を使用する 基本的な例 URLconfでの使用法 ジェネリックビューのサブクラス化 非同期のクラスベース・ビュー マイグレーション コマンド 対応するバックエンド ワークフロー トランザクション 依存関係 マイグレーションファイル アプリにマイグレーションを追加する マイグレーションを元に戻す 履歴上のモデル モデルのフィールドを削除するときに考えるべきこと データのマイグレーション マイグレーションのスカッシュ (Squash) 値のシリアライズ Django の複数のバージョンをサポートする ファイルの管理 モデルでファイルを使う File オブジェクト ファイルストレージ Django におけるテスト テストを書いて実行する テストツール テストに関する高度なトピック Django でのユーザー認証 概要 インストール 使い方 Django のキャッシュフレームワーク キャッシュのセットアップ サイトごとのキャッシュ ビューごとのキャッシュ テンプレートフラグメントのキャッシュ 低レベルキャッシュ API 非同期サポート ダウンストリームキャッシュ Vary ヘッダーを使う キャッシュの制御: 他のヘッダを使用する MIDDLEWARE の順序 条件付きのビュー処理 condition デコレータ 1つの値を計算するだけのショートカット その他の HTTP メソッドでデコレータを使用する ミドルウェアの条件付き処理との比較 暗号署名 SECRET_KEY と SECRET_KEY_FALLBACKS の保護 低レベルの API を利用する メールを送信する 簡単な例 send_mail() send_mass_mail() mail_admins() mail_managers() 例 ヘッダインジェクションを防止する EmailMessage クラス メールのバックエンド 開発用にメールを設定する 国際化とローカライズ 概要 定義 ロギング 概要 セキュリティへの影響 ロギングを設定する ページ分割 (Pagination) Paginator クラス カスタマイズ例 ListView のページ分割 Paginator をビュー関数で使用する Django におけるセキュリティ Always sanitize user input クロス・サイト・スクリプティング (XSS) の防御 クロス・サイト・リクエスト・フォージェリ(CSRF)の防御 SQL injectionへの防御 クリックジャッキング (Clickjacking) に対する防御 SSL/HTTPS Host ヘッダーの検証 リファラ ポリシー クロスオリジン・オープナー・ポリシー セッションのセキュリティ ユーザーがアップロードしたコンテンツ その他のセキュリティトピック パフォーマンスと最適化 はじめに 一般的なアプローチ キャッシュ 遅延について理解する データベース HTTP のパフォーマンス テンプレートのパフォーマンス 利用可能なソフトウェアの異なるバージョンを使う Django オブジェクトのシリアライズ データのシリアライズ データのデシリアライズ シリアライズフォーマット ナチュラルキー Djangoの設定 基礎 設定ファイルの指定 デフォルトの設定 Pythonのコード内で設定を参照する 実行時に設定を変更する セキュリティ 利用可能な設定 設定項目を自作する DJANGO_SETTINGS_MODULE 設定を使わない設定方法 シグナル シグナルを待ち受ける シグナルの定義と送信 シグナルを切断する システムチェックフレームワーク 独自のチェックを書く 外部パッケージ ローカルフレーバー Comments Formtools 非同期サポート 非同期ビュー 非同期安全性 非同期アダプター関数