Django跨域問題(CORS錯誤)

Django跨域問題(CORS錯誤)

一.出現跨域問題(cors錯誤)的緣由

一般狀況下,A網頁訪問B服務器資源時,不知足如下三個條件其一就是跨域訪問python

  • 協議不一樣
  • 端口不一樣
  • 主機不一樣

二.Django解決跨域

1.安裝django-cors-headers模塊django

pip3 install django-cors-headers跨域

2.註冊AAP服務器

INSTALLED_APPS = [
    ...
    'corsheaders'
]

3.添加中間件cors

MIDDLEWARE = [
    ...
    'corsheaders.middleware.CorsMiddleware'
]

三.跨域設置

settings.py中配置code

1.容許全部來源訪問中間件

CORS_ORIGIN_ALLOW_ALL = Trueip

2.容許部分來源訪問資源

CORS_ORIGIN_ALLOW_ALL = Falseget

CORS_ORIGIN_WHITELIST = [
'http://example.com' #容許訪問的來源]

設置指定來源注意點:

  • 來源必須標明:ip,端口,協議,並且ip,協議,端口一一對應才能獲取
  • 當中的127.0.0.1與localhost表明的不是同一個
    • 好比說你選了http://127.0.0.1:1000 你發起請求時http://localhost:1000 數據就無法得到
相關文章
相關標籤/搜索