# Django 4.1.8.dev20230308103347 ドキュメント

# Django ドキュメント

Django を使いこなすための全てがここにあります。

## 最初のステップ

Django やプログラミングは初めてですか？ それなら、ここから始めましょう！

- 何もないところから始めるなら: 概要 | インストール
- チュートリアルはこちら: その 1: リクエストとレスポンス | その 2: モデルと管理サイト | その 3: ビューとテンプレート | その 4: フォームと汎用ビュー | その 5: テスト | その 6: 静的ファイル | その 7: 管理サイトのカスタマイズ
- 高度なチュートリアル: 再利用可能なアプリケーションの書き方 | Django へのパッチを初めて書くには

## 助けを求める

困り事ですか？手を貸しましょう！

- FAQ を探してみましょう。よくある質問への答えなら、ここで見つかります。
- 特定のトピックに関する情報を探していますか？ それなら、 genindex や modindex 、そして ドキュメントの詳しい目次 を見てください。
- 何も見つかりませんか？ FAQ: 助けを求める で、サポートを受けたりコミュニティに質問をしたりすることに関わる情報を確認してください。
- Django のバグを見つけたときは、 チケットトラッカー で報告してください。

## 本ドキュメントの構成

Django にはドキュメントがたくさんあります。あらかじめドキュメントの構成の大まかな概要を知っておけば、特定のトピックを探すときに、どこを探せばいいかすぐに分かるようになるでしょう。

- チュートリアル では、一連のステップを通して、実際に手を動かしながら Web アプリケーションを作ります。もし Django や Web アプリケーションの開発が初めてなら、ここから読み始めてください。「 最初のステップ 」のセクションも読んでみてください。
- トピックガイド では、重要なトピックや概念について大まかに解説し、役に立つ背景情報や説明を行っています。
- リファレンスガイド は、API や他の側面から見た Django の仕組みの技術的なリファレンスです。ここでは、Django の仕組みとその使い方について説明していますが、重要な概念については基本的に理解していることを前提に書かれています。
- How-to ガイド はレシピ集です。よくある問題やユースケースに対して、どんなステップを踏んで解決すればいいかを説明しています。チュートリアルより発展的な内容で、Django の仕組みについてはある程度は理解していることを前提に書いてあります。

## モデル層

Django は、Web アプリケーションのデータ構造を定義、操作するための抽象レイヤ「モデル (models)」を提供しています。詳細は以下を参照してください:

- モデル: モデル 入門 | フィールド型 | インデックス | Meta オプション | モデルクラス
- QuerySets: クエリを作成する | QuerySetメソッドリファレンス | 検索式
- モデルインスタンス詳説: インスタンスメソッド解説 | リレーション先オブジェクトへのアクセス
- マイグレーションとは: マイグレーションの解説 | 操作方法リファレンス | スキーマエディタ | マイグレーションを書くには
- モデルの高度な話題: マネージャ (Manager) | 素の SQL を扱うには | トランザクション | アグリゲーション (Aggregation) | 検索 | フィールド型を自作するには | 複数データベースを扱うには | lookup フィルタを自作するには | クエリを書くには | 条件分岐をするには | データベース関数
- その他: データベースのサポート状況 | レガシーなデータベースを扱う | 初期データを投入するには | データベースアクセスの最適化 | PostgreSQLの特有の機能を扱うには

## ビュー層

Django には「ビュー (views)」と呼ばれる概念があります。ビューは、ユーザーリクエストを処理してレスポンスを返すロジックをカプセル化したものです。以下のリンクから、ビューの詳細を学びましょう。

- 基本事項: URLconfs | View関数 | ショートカット | デコレータ | 非同期サポート
- リファレンス: 組み込みのビュー | リクエスト/レスポンスオブジェクト | テンプレートレスポンスオブジェクト
- ファイルアップロード: 概要 | File オブジェクトリファレンス | ストレージ API | ファイルの管理 | ストレージを自作するには
- クラスベースビュー: 概要 | ビルトインの表示用ビュー | ビルトインの編集用ビュー | Mixin を使うには | API リファレンス | 索引
- より高度なビューの話題: CSV を出力するには | PDF を出力するには
- ミドルウェア: ミドルウェアとは | ビルトインのミドルウェアクラス

## テンプレート層

テンプレート層は、ユーザに表示される情報をレンダリングするための、デザイナーにも書きやすい構文を提供します。デザイナーによるテンプレートの構文の使い方や、プログラマーが構文を拡張する方法について学びましょう。

- 基本: 概要
- デザイナー向けの情報: テンプレートの書き方概要 | ビルトインタグとフィルタ | 人間にやさしい出力生成
- プログラマー向けの情報: テンプレート API | タグやフィルタを自作するには | テンプレートのバックエンドを自作するには

## フォーム

Django には、フォームを簡単に作成したり、フォームに入力されたデータを簡単に操作できるようにしてくれる、多機能なフレームワークがあります。

- フォームの基礎: 概要 | フォーム API | ビルトインフォームフィールド | ビルトインウィジェット
- 高度な話題: モデルに対応したフォームを生成するには | メディアファイルを組み込むには | フォームセットを扱うには | バリデータを自作するには

## 開発プロセス

Django アプリケーションの開発とテストに役立つ、さまざまなコンポーネントとツールについて学ましょう。

- 設定: 概要 | 設定項目
- アプリケーション: 概要
- 例外: 例外の概要
- django-admin と manage.py: 概要 | 自作の管理コマンドを追加するには
- テスト: 概要 | テストの書き方と実行方法 | テストのツール | 高度な話題
- デプロイ: 概要 | WSGI サーバー | ASGI サーバー | 静的なファイルをデプロイする | メールでコードのエラーを追跡する | デプロイのチェックリスト

## 管理インタフェース

Django の目玉機能の一つである、自動生成の管理インタフェースのすべてを学びましょう。

- 管理サイト
- 管理アクション
- 管理サイトのドキュメント生成

## セキュリティ

セキュリティは Web アプリケーションを開発する中でも最も重要なトピックです。Django は、複数のプロテクションのためのツールとメカニズムを提供しています:

- セキュリティの概要
- 公表済みの Django のセキュリティ問題
- クリックジャッキング対策
- クロスサイトリクエストフォージェリ対策
- 暗号による署名
- セキュリティ関連ミドルウェア

## 国際化と地域化

Django は堅牢な国際化、地域化フレームワークを提供しています。これらのフレームワークを使えば、多言語、世界の各地域に対応したアプリケーションが簡単に開発できます。

- 概要 | 国際化 | 地域化 | ローカライズされたWeb UIフォーマットとフォームインプット
- タイムゾーン

## パフォーマンスと最適化

ソースコードをさらに効率的かつ高速に実行し、より少ないシステムリソースで動作するようにするのを助けてくれる、様々な技術とツールが存在します。

- パフォーマンスと最適化の概要

## 地理情報フレームワーク

GeoDjango は世界規模の地理情報 Web フレームワークを目指しています。 GeoDjango の目的は、地理情報システム (GIS) のWeb アプリケーションの開発をより簡単にし、空間データ (spatially enabled data) を活用することにあります。

## 一般的なWebアプリケーションツール

DjangoはWebアプリケーションの開発でよく必要とされるツール群を提供しています。

- 認証: 概要 | 認証システムを使う | パスワード管理 | 認証の処理を自作する | API リファレンス
- キャッシュシステム
- ログ出力
- メール送信
- 配信フィード (RSS/Atom)
- ページ分割表示
- メッセージフレームワーク
- データのシリアライズ
- セッション
- サイトマップ
- 静的ファイル管理
- データバリデーション

## その他の主要機能

Django フレームワークの、その他の主要機能について学びましょう。

- 条件付きコンテンツ処理
- コンテンツタイプと汎用リレーション
- flatpages: フラットページコンテンツの管理
- リクエストのリダイレクト
- イベントのシグナル
- システムチェックフレームワーク
- サイトフレームワーク
- Django での Unicode の扱い方

## オープンソースプロジェクトとしての Django

Django プロジェクト自身の開発プロセスと、プロジェクトに貢献する方法について学びましょう。

- コミュニティ: 参加するには | リリースプロセス | チーム組織 | Djangoのソースコードリポジトリ | セキュリティポリシー | メーリングリスト
- 設計思想: 概要
- ドキュメンテーション: ドキュメントの仕組みと書き方
- サードパーティが配布している Django: 概要
- Django と長く付き合うために: API の安定性 | リリースノート一覧とアップグレードの手順 | 撤廃機能のスケジュール