Djangoでcorsheadersを使用する方法とコード例


  1. corsheadersのインストール: まず、corsheadersをインストールする必要があります。ターミナルまたはコマンドプロンプトで以下のコマンドを実行します。
pip install corsheaders
  1. Djangoプロジェクトの設定: settings.pyファイルを開き、インストールしたcorsheadersを追加します。以下のように設定します。
INSTALLED_APPS = [
    ...
    'corsheaders',
    ...
]
MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    ...
]
CORS_ALLOWED_ORIGINS = [
    # 許可するオリジンを指定します
    'http://example.com',
    'https://example.com',
]
  1. corsheadersの有効化: Djangoの設定を変更した後、サーバーを再起動する必要があります。ターミナルまたはコマンドプロンプトでDjangoプロジェクトのルートディレクトリに移動し、以下のコマンドを実行します。
python manage.py runserver

これでcorsheadersが有効になり、クロスオリジンリクエストが処理されるようになります。

  1. クロスオリジンリクエストの処理: corsheadersを使用すると、Djangoのビューでクロスオリジンリクエストを処理することができます。以下は、POSTリクエストを受け取り、JSONレスポンスを返す例です。
from django.http import JsonResponse
def my_view(request):
    if request.method == 'POST':
        # リクエストを処理するコード
        ...

        # レスポンスを作成するコード
        response_data = {'message': 'Success'}
        return JsonResponse(response_data)

これで、corsheadersを使用してDjangoプロジェクトでクロスオリジンリクエストを処理する準備が整いました。

以上の手順とコード例を使って、Djangoでcorsheadersを使用してクロスオリジンリクエストを処理する方法を説明しました。これにより、フロントエンドからのAPIリクエストを安全に受け入れることができます。