# Django 5.2.9 ドキュメント

# Djangoをデプロイするには

Django にある非常に多くのショートカットはWeb開発者を楽にしてくれますが、サイトをかんたんにデプロイできなければ、これらのツールのどれも役に立ちません。 当初より Django は、デプロイのしやすさを大きな目標としてきました。

Django アプリケーションのデプロイには、アーキテクチャや特定のビジネスニーズに基づいて多くの選択肢がありますが、その議論は Django がガイダンスとして提供できる範囲外です。

Djangoはウェブフレームワークであるため、動作にはウェブサーバーが必要です。ほとんどのウェブサーバーはPythonを直接扱えないため、両者の通信を可能にするインターフェースが必要です。`runserver` コマンドは軽量な開発サーバーを起動しますが、これは本番環境には適していません。

Djangoは現在、WSGIとASGIの2つのインターフェースをサポートしています。

- WSGI はウェブサーバーとアプリケーション間で通信するためのPythonの主要な規格です。ただし、同期的なコードしかサポートしていません。

- ASGI は、Django サイトで非同期の Python 機能と非同期の Django 機能を使えるようにするための、新しい非同期フレンドリーな標準です。

また、アプリケーションの 静的ファイル をどのように扱うか、そして エラーレポート をどのように扱うかも考慮する必要があります。

Finally, before you deploy your application to production, you should run through our deployment checklist to ensure that your configurations are suitable.

- WSGI とともにデプロイするには
  - Django を Gunicorn とともに使う
  - Django を uWSGI とともに使うには？
  - Django を Apache と `mod_wsgi` とともに使うには？
  - Django のユーザーデータベースに対する Apache からの認証
  - `application` オブジェクト
  - Settings モジュールを設定する
  - WSGIミドルウェアを適用する
- ASGI とともにデプロイするには
  - Django を Daphne とともに使う
  - Django を Hypercorn とともに使う
  - Django を Uvicorn とともに使う
  - `application` オブジェクト
  - Settings モジュールを設定する
  - ASGI ミドルウェアの適用
- デプロイチェックリスト
  - `manage.py check --deploy` を実施しよう
  - `manage.py runserver` から切り替える
  - 最重要な設定
  - 環境に合わせた設定
  - HTTPS
  - パフォーマンスの最適化
  - エラーのレポート