Django CSRF 保護では OPTIONS リクエストが許可されるため、最初の段階では問題ありません。
https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-it-works
私の理解が正しければ、次のリクエスト (クロスドメイン POST など) の通過を許可する必要があります。これが機能し、Django の CSRF 保護を通過するには、リクエストで CSRF トークン (POST データまたは AJAX のヘッダー) と一致する CSRF Cookie を送信する必要があります。
現在、クロスドメインの制限により、abc.com が xyz.com の Cookie を設定したり読み取ったりすることは、javascript からでもサーバー側の応答からでも不可能です。したがって、このアプローチは不可能です。
代わりに、ビューに適用する必要が@csrf_exempt
あります。これにより、どのサイトからも投稿できるようになります。したがって、ビューに他の保護を組み込む必要があります。もちろん、保護の安全性をチェックするのはあなた自身です。「Referer」および「Origin」ヘッダーは、curl などの基本的なもので簡単に偽造できることに注意してください。