DRFプロジェクトは、分離の終わりには、Webフロントフレームです。
このプロジェクトでは、我々はVUEのフロントエンドフレームワークを使用していました。
独立したフロントと問題が発生した後端部、後端部のフロントエンドにAjaxリクエストは、API(Interface)を要求することはできません。
なぜ、このような問題があるのでしょうか?
ブラウザのため、同一生成元ポリシーをせずにさまざまなソース(ウェブサイトのコードアヤックス)用のスクリプトを許可していない明示的な承認、お互いのリソースを読み書きするために、状況下で。
同一生成元ポリシーに述べたように、我々は一度にあるかを理解する必要性を避けることができないソースとも呼ばれているものの相同元ポリシーを。
出典:urlは、プロトコル、ドメイン名、ポート番号を意味し;
相同:URLの2つのプロトコル、ドメイン名、ポート番号は、その後、我々は、このURLは2つの相同で呼び出し、同じです。
同一生成元ポリシーは:ブラウザのセキュリティ機能を指し、その役割は二つの非相同URLが通信を防ぐようにすることです。
今、私たちは問題を特定した後、我々は問題を解決するために開始されます。
ここでは、通信するために非相同の間でクロスドメインのURLを達成するために使用する必要があります。
私たちは、クロスドメインのアプローチがある使用クロスドメインリソース共有CORS(クロスオリジンリソースの共有)。
今、私たちは、この問題を解決する方法は、その後、我々が達成するために、コードを使用する必要がありますことを知っています。
まず、私たちは、DjangoのプログラムCORS構成で、サードパーティ製のモジュールをインストールする必要があります。
ピップジャンゴ・CORS-ヘッダをインストール
その後、我々は、configureにコンフィギュレーションファイルを投影する必要があります。
= INSTALLED_APPS [
...
#登録CORSクロスドメインアクセスサブアプリケーション
' corsheaders ' 、
]
ミドルウェア= [
' corsheaders.middleware.CorsMiddleware ' 、
...
]
ここで、必要な設定要求ホワイトリスト。
#CORS
CORS_ORIGIN_WHITELIST = (
' http://127.0.0.1:8080 ' 、
' HTTP:// localhostを:8080 ' 、
' http://www.meiduo.site:8080 ' 、
" HTTP://www.meiduo。サイト:8000 "
)
CORS_ALLOW_CREDENTIALS = Trueの #許可クッキー